将记录从一个MySQL DB传输到另一个MySQL DB

时间:2010-03-22 14:55:57

标签: sql mysql

如何在一台完全不同的服务器上将特定行从一台服务器上的一个MySQL数据库传输到另一台服务器上。模式也不一定必须相同。例如,在服务器“A”上,我可以拥有一个包含2列的Users表,而在服务器“B”上有一个包含4列的Users表。

感谢。

3 个答案:

答案 0 :(得分:1)

您应该澄清“特定行”并指定是否只有一个表或多个表。

mysqldump [options] [db_name [tbl_name ...]]可以做很多事 -c将创建列名为
的插入 -w将应用于条件,例如-w“userid = 1”

所以

mysqldump -c -w"column=value" db table > table.sql

可能会帮助你。

带有列名的插入可以使用稍微不同的模式(取决于ref完整性)

答案 1 :(得分:0)

在服务器A上创建4列表,将SELECT数据插入该表,然后对表进行SQL转储,然后在服务器B上执行该转储,

答案 2 :(得分:0)

如果您的表格不是太大,我建议您首先在获取数据的一侧创建一个tmp表。 tmp表应与要导出数据的一侧的列匹配。将所有导出表插入到tmp表中。

要创建tmp表,你可以这样:

create table tmpuser as select col1, col2, ... from user;

然后转移数据:

mysqldump --no-create-db --no-create-info db tmptablelist > dump.sql

使用以下方式导入另一端:

mysql db < dump.sql