2011-03-29 138 views
9

我使用mysqldump来备份包含多个表(比如表D,E,F)的数据库。我使用以下命令:mysqldump -uuser -ppassword SourceDatabase> file.sql来备份这些表。MySQL通过mysqldump恢复数据库 - 是否覆盖不同的目标表?

我想知道如果我恢复这个备份,它会覆盖其他表吗?例如,如果我有一个包含表A,B和C的数据库DestinationDatabase,并且在运行命令“mysql -uuser -ppassword DestinationDatabase < file.sql”之后,我会丢失目标数据库上的表A,B和C (并且只留下D,E和F),还是留下A,B,C,D,E和F(原始表在DestinationDatabase中保持原状)?

由于提前, 添

+0

这取决于转储是否在其第一行中执行了“DROP TABLE IF EXISTS”。但我不认为这是默认的。为什么不简单地尝试? – 2011-03-29 15:44:00

回答

7

默认选项,它不会删除表ABC。但是它会覆盖(删除不在备份中的当前数据)表D,EF

要查看可用选项列表see here

6

这取决于执行备份时选项add-drop-tableadd-drop-database的值。