如何将特定行从一台服务器上的一个MySQL DB传输到另一台完全不同的服务器上的另一台服务器。此外,模式也不一定要相同。例如,在服务器"A“上,我可以有一个包含2列的Users表,而在服务器"B”上,可以有一个包含4列的Users表。
谢谢。
发布于 2010-03-22 23:03:10
您应该澄清“特定行”,并指定是只有一个表还是多个表。
mysqldump optionsdb_name tbl_name...]可以做很多事情
-c将使用列名创建插入
-w将应用where条件,例如-w"userid=1“
所以
mysqldump -c -w"column=value" db table > table.sql也许能带你到那里。
带有列名的插入可以与稍有不同的模式一起工作(取决于引用完整性)
发布于 2010-03-22 23:00:57
在服务器A上创建包含4列的表,将SELECT数据插入到该表中,然后对该表进行SQL转储,然后在服务器B上执行该转储。
发布于 2010-03-22 23:10:55
如果您的表不太大,我建议您首先在从中获取数据的一侧创建一个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.sqlhttps://stackoverflow.com/questions/2493181
复制相似问题