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