[英]Backup restore mysql from query of single table
我有一个包含三个表的数据库。 我想在第二个表中创建一些记录的备份文件:
mysqldump --opt --user=${USER} --password=${PASS} --databases ${DATABASE} --where="id = $1" mydb Table2 > FILE.sql
问题在于使用此代码进行还原。
mysql --user=${USER} --password=${PASS} ${DATABASE} < FILE.sql
它删除整个数据库并插入我以前代码中只选择的记录。 我希望只删除所选记录而不删除其余记录。
使用mysqldump时,应该尝试使用--skip-add-drop-table
选项。
http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html
这样可以防止将删除表条目添加到sql导出中。
您正在使用[--databases][1]
标志,该标志在转储多个数据库时使用,并且在您只想转储单个表时不应使用。
转储几个数据库。 通常,mysqldump将命令行上的第一个名称参数视为数据库名称,将后续名称视为表名称。 使用此选项,它将所有名称参数视为数据库名称。 CREATE DATABASE和USE语句包含在每个新数据库之前的输出中。
避免使用该参数并使用--no-create-info
或简单地使用-t
来确保create table / drop table命令不在转储文件中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.