gpt4 book ai didi

php - 在执行 SQL 文件时与 MySQL 一起使用 --ignore-table

转载 作者:行者123 更新时间:2023-11-29 13:29:36 24 4
gpt4 key购买 nike

我有一个很大的 SQL 文件,我需要将此文件导入到 ubuntu 和 MySql 下的数据库

我使用此命令导出数据库,并忽略转储中的一些表

  mysqldump -uroot -proot myDatabase --ignore-table=myDatabase.table1 > sql_backup.sql;

现在我需要将其导入到另一个数据库并忽略导入操作中的一些表

如何在此命令中使用 --ignore-table 选项

mysql -hlocalhost -root -proot newdb< sql_backup.sql

我可以这样做以及如何做?

谢谢

最佳答案

我每周都会遇到这样的问题。就我而言,当我导入数据库但需要转储它时,我需要删除 2 个表。经过快速搜索后,我尝试了 sed,这就是我正在做的事情,也许它对您有用:

#!/bin/bash
sed '/`log_sessions`/ d' ${1} > dumpLog
sed '/`log_sessions_requests`/ d' dumpLog > ${2}
rm dumpLog

我使用此脚本来清理转储(并覆盖),删除对 log_sessionslog_sessions_requests 的所有引用

如果您使用表更改这两个名称,它应该可以正常工作。

当然,另一个解决方案是进行多次转储...但我认为这是更好的方法。

已编辑:更改了脚本以避免覆盖主转储

使用方法:

  1. 将脚本保存到名为 cleanDB.sh 的新文件
  2. 像这样调用脚本 ./cleanDB.sh mainDump.sqlfilteredDump.sql

我想你明白了,如果需要一些解释,请告诉我

关于php - 在执行 SQL 文件时与 MySQL 一起使用 --ignore-table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19653245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com