我使用mysqldump将2个相同的数据库(表的名称和结构相同)导出为两个.sql文件.我想将它们合并到一个文件中.但是,两个数据库在每个表之前都有一个"Drop table"行.这意味着如果我导入db1然后导入db2,则在导入db2表之前会删除db1表.
文件很大,我无法在编辑器中打开它们.此外,每个数据库中有50个表.
如何在mysql导入期间忽略Drop table命令?
您只需--skip-add-drop-table
在使用时添加选项即可mysqldump
.
$ mysqldump --databases --skip-add-drop-table -u root db1 > /tmp/qqq.2
所以,就没有DROP TABLE IF EXISTS
在sql
文件中.
请参阅--skip-add-drop-table上的mysql文档
如果您不想再次进行转储并且使用Linux,则可以使用:
awk '!/^DROP TABLE IF EXISTS/{print}' <dump.file> | mysql <db_name>
如果要再次转储数据,则应传递--skip-add-drop-table
给mysqldump实用程序.