web-dev-qa-db-fra.com

MySQL: SELECT depuis un autre serveur

J'ai bien peur de connaître déjà la réponse à ma question, mais je la poserai quand même:

Lorsqu'il y a deux serveurs de base de données MySQL, puis-je accéder aux données stockées sur l'autre serveur?

En d'autres termes: puis-je faire ceci:

INSERT INTO table (x, y, z)
   SELECT x, y, x+y
      FROM [otherserver].[database].[table]

La réponse est-elle vraiment aussi courte que "non"?

23
BlaM

Vous pouvez configurer des tables fédérées dans MySQL pour accomplir ce que vous essayez de faire. Il y a quelques limitations.

http://dev.mysql.com/doc/refman/en/federated-storage-engine.htmlhttp://dev.mysql.com/doc/refman/en/ federated-usagenotes.html

16
volatilsis
CREATE TABLE `remote_table`(
  `foo` VARCHAR(100),
  UNIQUE KEY(`foo`(30))
) ENGINE=FEDERATED CONNECTION='mysql://thedomain.com:3306/remotedbname/remotetablename';

Ensuite, interrogez-le comme n'importe quelle autre table avec SELECT, UPDATE, INSERT, DELETE.

0
tim