mysql只导入缺失的行

标签 mysql cmd mysqldump

我正在寻找一种方法来从以前的备份中恢复我的数据库。但是,备份不应简单地覆盖所有现有记录,而应仅添加当前数据库与备份文件之间的差异。如果备份中没有存储“不存在”的记录,则不会发生任何事情。备份是用 mysqldump 做的。有什么线索吗? 提前致谢

最佳答案

这是一个不太手动的答案:

mysqldump -t --insert-ignore --skip-opt -u USER -pPASSWORD -h 127.0.0.1 database > database.sql

带有 -t --insert-ignore --skip-opt 选项的导出命令将为您提供一个没有 DROP TABLE 的 sql 转储文件CREATE TABLE 命令和每个 INSERT 现在都是 INSERT IGNORE

奖励:

这将以相同的方式转储单个表:

mysqldump -t --insert-ignore --skip-opt -u USER -pPASSWORD -h 127.0.0.1 数据库 table_name > table_name.sql

我今天需要这个,忍不住要分享!

关于mysql只导入缺失的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16974120/

相关文章:

windows - 从批处理文件中的不同目录运行时 VBS 文件卡住

macos - -bash : mysqldump: command not found MAC OS X

mysql - 从 .frm 文件恢复 mysql 数据库

php header 不起作用,可能是什么错误?

mysql - 如何在Mysql中为GROUP BY定义自己的聚合函数?

mysql - 从本地数据库将数据加载到 Bigquery

mysql - 在 mysqldump 命令行上指定单独的配置文件

mysql - 这两个查询之间的效率或其他差异是什么?

powershell - 从cmd命令到Powershell获取正确的变量状态

python - Gulp - 如何从 gulpfile 向 runserver 写入命令