通常情况下,当我备份数据库时,会运行像这样的命令:
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。
如果只需要转储表数据,如使用mysqldump仅转储数据而没有任何表信息?所述,请执行以下操作:
mysqldump --no-create-info ...
另外,您可以使用以下选项:
--skip-triggers
:如果您正在使用触发器
--no-create-db
:如果您正在使用--databases ...
选项
--compact:
如果您想要摆脱额外的注释
-t
。 - But those new buttons though..