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

问题描述 投票:0回答:3

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

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

在该文件中,有

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

如果我执行这个文件,它会吹走我本地主机上数据库模式的重要更改。

我只需要

INSERT
语句。有什么标志我可以通过
mysqldump
来实现这个目标吗?

mysql sql backup
3个回答
22
投票

包含 mysqldump 忽略结构的命令。

mysqldump --no-create-info ...


18
投票

所有你需要的是在使用

--skip-add-drop-table
时添加
mysqldump
选项。

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

如果 SQL 文件中存在,现在没有 DROP TABLE。

--skip-add-drop-table

上查看mysql的文档。


0
投票

只转储表数据,如只转储mysqldump的数据,没有任何表信息?执行以下操作:

mysqldump --no-create-info ...

你也可以使用:

--skip-triggers
:如果您使用触发器

--no-create-db
:如果您使用
--databases ...
选项

--compact:
如果你想摆脱多余的评论

© www.soinside.com 2019 - 2024. All rights reserved.