0

我正在使用 mysqldump 将一个表复制到另一台服务器。每次我启动该过程时,mysqldump 都会将所有数据插入表中。

例如,假设我在表中有 1 条记录,而我在此表上没有主键。

--no-create-info目前使用选项来转储所有仅插入数据。

第一次运行我得到 1 条记录
第二次运行我得到 2 条记录......
等等

如果 mysqldump 可能的话,我需要的是一种合并操作。

所以结果应该是

第一次运行我得到 1 条记录
第二次运行我得到 1 条记录

新插入记录后

第三次运行我应该有 2 条记录

谢谢。

4

1 回答 1

0

看看这个页面,http://shiplu.mokadd.im/110/splitting-huge-mysql-dump-for-easy-restore/它显示了拆分单个表的转储的各种方法。

我还没有时间尝试这个,您可能需要在命令中添加“--no-create-info”,如果您使用该页面上的任何方法,我很想知道您的最终解决方案。

好的,我有时间尝试将一个包含 1300 万条记录的大表拆分为三个文件,因为我的服务器在处理单个文件时遇到了问题。以下对我有用。

mysqldump --host=localhost --user=user --password=password --where "1 LIMIT 0, 5000000" db_name table_name > table_name_01.sql

mysqldump --host=localhost --user=user --password=password --where "1 LIMIT 5000000, 5000000" --no-create-info db_name table_name > table_name_02.sql

mysqldump --host=localhost --user=user --password=password --where "1 LIMIT 10000000, 5000000" --no-create-info db_name table_name > table_name_03.sql

于 2013-02-08T02:50:36.900 回答