我必须使用MySQL数据库 DB1 和 DB2 ,DB1位于在线服务器上,而DB2位于本地计算机上(localhost),现在我想使用 SQL QUERY 从DB1的名为 db1_table 的表中将一些数据插入DB2的名为 db2_table 的表中。那怎么可能呢?
答案 0 :(得分:0)
我认为使用一个SQL查询是不可能的。 SQL-Query只能在一台服务器上执行,而他不知道第二台服务器。因此,您必须使用应用程序执行此操作,或者必须使用MySql Workbench或PHPMyAdmin的导入和导出功能。
在这里你可以找到一个非常相似的问题:
insert into a MySQL database on a different server
希望这会对你有所帮助。
答案 1 :(得分:0)
有可能按照@Being Human的建议创建2个同时连接 - 并编写一个查询 - 这将是理想的。但是下面的方法适用于我。
1:从在线服务器
制作DB1
的转储文件
mysqldump -u <db_username> -h <db_host> -p db_name table_name > backup.sql
2:将dumpfile恢复到本地服务器和数据库(将恢复到同一个DB)
mysql -u<db_username> -p DB_NAME < backup.sql
3:从db2_table
db1_table
INSERT INTO DB2.db2_table (<col1>, <col2>, <col3>....)
SELECT <col1>, <col2>, <col3> ...
FROM db1_table;
确保db1_table
上SELECT子查询返回的列映射到db2_table