如何在不删除任何表的情况下进行 mysqldump

How to mysqldump WITHOUT dropping any tables

通常,当我备份数据库时,我运行这样的命令:

mysqldump -uuser -p -hhost -Ddatabase > C:\TEMP\db_2018-04-05.sql

在该文件中,有 DROP table 语句。这通常没问题,但我修改了我的本地主机,使其具有与生产数据库不同的架构。

如果我执行这个文件,它会破坏我本地主机上数据库架构的重要更改。

我只需要 INSERT 语句。我可以通过 mysqldump 来实现这个目标吗?

包括 mysqldump 忽略结构的命令。

mysqldump --no-create-info ...

您只需要在使用 mysqldump 时添加 --skip-add-drop-table 选项即可。

$ mysqldump -uuser -p -hhost -Ddatabase --skip-add-drop-table > C:\TEMP\db_2018-04-05.sql 

现在 SQL 文件中没有 DROP TABLE IF EXISTS。

请参阅 mysql on --skip-add-drop-table 的文档。