当数据库属于不同的用户时,将数据从一个数据库中的表复制到另一个数据库中的表的最佳方法是什么?

我知道我可以用

INSERT INTO database2.table2 SELECT * from database1.table1

但这里的问题是database1和database2都在不同的MySQL用户下。所以user1只能访问database1, user2只能访问database2。任何想法?


当前回答

IN xampp只是将所需的表导出为.sql文件,然后将其导入到所需的表中

其他回答

IN xampp只是将所需的表导出为.sql文件,然后将其导入到所需的表中

我知道这是一个老问题,只是回答,以便任何人降落在这里得到更好的方法。

从5.6.10开始你就可以做到

CREATE TABLE new_tbl LIKE orig_tbl;

参考文档:https://dev.mysql.com/doc/refman/5.7/en/create-table-like.html

尝试mysqldbcopy(文档)

或者可以在目标主机上创建“联邦表”。联邦表允许您查看来自不同数据库服务器的表,就像它是本地表一样。(文档)

创建联邦表之后,可以使用通常的insert从SOURCE将数据复制到TARGET select *中

这是你需要定期做的事情,还是只做一次?

你可以做一个导出(例如使用phpMyAdmin或类似),将脚本出你的表和它的内容到一个文本文件,然后你可以重新导入到另一个数据库。

像sakila.customer(Database_name.tablename)一样创建表destination_customer,这只会复制源表的结构,对于数据也要复制结构,这样创建表destination_customer作为select * from sakila.customer