问题
I'm afraid that I already know the answer to my question, but I'll ask it anyway:
When there are two MySQL DB servers, can I access data that is stored on the other server?
In other words: Can I somehow do this:
INSERT INTO table (x, y, z)
SELECT x, y, x+y
FROM [otherserver].[database].[table]
Is the answer really as short as "No"?
回答1:
You can set up federated tables in MySQL to accomplish what you're trying to do. There are some limitations.
http://dev.mysql.com/doc/refman/en/federated-storage-engine.html http://dev.mysql.com/doc/refman/en/federated-usagenotes.html
回答2:
CREATE TABLE `remote_table`(
`foo` VARCHAR(100),
UNIQUE KEY(`foo`(30))
) ENGINE=FEDERATED CONNECTION='mysql://thedomain.com:3306/remotedbname/remotetablename';
Then query it like any other table with SELECT, UPDATE, INSERT, DELETE.
来源:https://stackoverflow.com/questions/508100/mysql-select-from-another-server