我要编写一个python脚本,将MySQL数据库中的一些表从一台远程计算机(1.7
)复制到另一台远程计算机(remote1
)上的另一个数据库中
最方便的方法是什么?
因为这两个表位于不同的机器上,所以以下MySQL命令不起作用。
remote2
目前,我的想法是:
在
CREATE TABLE newtable LIKE oldtable;
INSERT newtable SELECT * FROM oldtable;
上阅读srcTable
的表格架构。在remote2上创建表。
在remote1
上运行SELECT * FROM theTable;
。将结果保存到变量中。
使用变量中的值在remote1
上运行INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
。
有没有更好的解决方案更简单?
答案 0 :(得分:1)
看看https://github.com/github/gh-ost这是一个相当新的库,可以让GitHub的人们做这类事情。
答案 1 :(得分:1)
我认为最好的方法是使用mysqldump
用于特定的表格,如here所述。
然后使用mysqlimport
导入它。
来自2.10.4 Copying MySQL Databases to Another Machine的更多信息 MySQL 8.0 Reference Manual将其转移到新服务器。
答案 2 :(得分:0)
导出&的单一命令进口: / opt / lampp / bin / mysqldump -u root -ppass bd_name table_name_optional | ssh root@192.168.3.252 / opt / lampp / bin / mysql -u root -ppass db_name
两步:首先通过以下命令导出: / opt / lampp / bin / mysqldump -u user-ppass db_name [表名由空格分隔 - 选项]> /opt/db_backup/db_name.sql
第二个导入命令: / opt / lampp / bin / mysql -u user-ppass db_name< /opt/db_backup/db_name.sql
希望能帮到你。