我想备份两个表:table1和table2。
table1来自数据库database1。
table2来自数据库database2。
有办法用一个mysqldump调用来转储它们吗?
我知道我能做到:
mysqldump -S unixSocket --skip-comments --default-character-set=utf8 --databases database1 --tables table1 > /tmp/file.sql但是如何从不同的数据库中转储两个表呢?
发布于 2011-11-22 16:12:52
使用mysqldump两次,但第二次与重定向文件作为附加>> /tmp/file.sql。
发布于 2011-11-22 14:24:38
有三种通用的方法来调用mysqldump
shell> mysqldump options db_name tbl_name .shell> mysqldump选项--数据库db_name .shell> mysqldump选项-所有数据库
只有第一个允许您选择数据库和表名,但不允许多个数据库。如果您使用第二个或第三个选项,您将转储选定的数据库(第二个)或所有数据库(第三个)。
因此,您可以这样做,但您需要转储到整个数据库。
正如米哈ł波瓦加在评论中所说的,你也可以做两次。
第一次用"
> /tmp/file.sql“
第二次使用">> /tmp/file.sql to append"
发布于 2017-11-09 07:42:04
这可能是一个解决办法,但您可以忽略不想备份的其他表。
例如在你的案例中:
mysqldump --databases database1 database2 --ignore-table=database1.table2 --ignore-table=database2.table1您需要定义每个表,您不想用每个-忽略表语句转储。
祝好运!
https://stackoverflow.com/questions/8228116
复制相似问题