如何将表从一个 mysql 数据库复制到另一个 mysql 数据库

2022-08-30 13:27:22

我需要将表从一个数据库复制到另一个数据库。这将是一个cronjob。哪一个是最好的方法?PHP 脚本或 Shell 脚本。PHP的问题,两个数据库都有不同的用户名和密码,所以我不能这样做。

CREATE TABLE db1.table1 SELECT * FROM db2.table1

我应该只连接第一个数据库获取所有记录并使用 WHILE 循环将所有记录插入到新数据库,还是有更好的方法?

我更喜欢shell脚本而不是PHP脚本来执行此操作。

谢谢


答案 1

如果需要在同一台服务器上复制表,则可以使用以下代码:

USE db2;

CREATE TABLE table2 LIKE db1.table1;

INSERT INTO table2  
    SELECT * FROM db1.table1;

它是从这里复制+粘贴的:codingforums.com

这不是我的解决方案,但我发现它很有用。


答案 2

我会把它扔掉。比任何基于PHP的东西都要简单得多。

mysqldump -u user1 -ppassword1 databasename > dump.sql
mysql -u user2 -ppassword2 databasename < dump.sql

MySQL 参考:4.5.4. mysqldump — A Database Backup Program


推荐