将mysql表从远程计算机复制到另一台计算机的最佳方法

时间:2018-05-10 06:59:08

标签: python mysql

我要编写一个python脚本,将MySQL数据库中的一些表从一台远程计算机(1.7)复制到另一台远程计算机(remote1)上的另一个数据库中

最方便的方法是什么?

因为这两个表位于不同的机器上,所以以下MySQL命令不起作用。

remote2

目前,我的想法是:

  1. CREATE TABLE newtable LIKE oldtable; INSERT newtable SELECT * FROM oldtable; 上阅读srcTable的表格架构。在remote2上创建表。

  2. remote1上运行SELECT * FROM theTable;。将结果保存到变量中。

  3. 使用变量中的值在remote1上运行INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);

  4. 有没有更好的解决方案更简单?

3 个答案:

答案 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)

  1. 导出&的单一命令进口: / 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

  2. 两步:首先通过以下命令导出: / opt / lampp / bin / mysqldump -u user-ppass db_name [表名由空格分隔 - 选项]> /opt/db_backup/db_name.sql

  3. 第二个导入命令: / opt / lampp / bin / mysql -u user-ppass db_name< /opt/db_backup/db_name.sql

    希望能帮到你。