从第二个MySQL服务器中选择

时间:2010-12-30 21:32:16

标签: mysql select export

我想从第二个MySQL数据库中选择数据,以便将数据从一个服务器迁移到另一个服务器。

我正在寻找类似的语法 SELECT * FROM username:password@serverip.databaseName.tableName

这可能吗?我可以使用链接服务器在Microsoft SQL Server中执行此操作,因此我假设它也可以在MySQL中使用。

3 个答案:

答案 0 :(得分:3)

您可以使用FEDERATED存储引擎创建表格:

CREATE TABLE tableName (id INT NOT NULL, …)
ENGINE=FEDERATED
CONNECTION='mysql://username:password@serverip/databaseName/tableName'

SELECT  *
FROM    tableName

基本上,它将作为远程tableName的视图。

答案 1 :(得分:0)

你可以采取两种方法,虽然它们都不像你所追求的那样:

  1. 使用replication并在两个数据库之间建立主/从关系。

  2. 只需从第一个数据库转储数据(使用命令行mysqldump工具)并将其导入第二个数据库。

  3. 但是,这两个数据最终都会迁移所有数据(即:不是子集),尽管您可以通过mysqldump指定特定的表。此外,如果您使用mysqldump方法并且您没有使用InnoDB,则需要确保在创建转储时源数据库未被使用(即:具有完整性)。

答案 2 :(得分:0)

您不能直接执行此操作,但正如其他人在评论中提到的那样,您可以使用mysqldump将表的内容导出为SQL脚本。

此时您可以在新服务器上运行脚本来创建表,或者如果需要对数据进行更多操作,请将该数据导入到新服务器上具有不同名称的表中,然后将查询写入从那里复制数据。