2009-02-03 7 views
19

Je crains que je connais déjà la réponse à ma question, mais je vais la poser quand même:MySQL: SELECT d'un autre serveur

Quand il y a deux serveurs MySQL DB, puis-je accéder à des données stockées sur l'autre serveur?

En d'autres termes: Puis-je en quelque sorte faire ceci:

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

La réponse est vraiment aussi courte que « non »?

+0

Utilisez la table fédérée. Reportez-vous à: http://winashwin.wordpress.com/2012/08/22/mysql-federated-table/ – Jacob

+0

Cet article sur ["Exécuter des requêtes MySQL sur plusieurs serveurs"] (http://www.linux.com/ feature/52390) sonne comme il explique comment faire ce que vous voulez faire. Le lien est actuellement mort, alors voici le contenu [from archive.org] (http://web.archive.org/web/20090302102331/http://www.linux.com/feature/52390?): –

+0

à propos de quelque chose comme ça pendant un moment, mais je ne peux pas le faire de cette façon, car nous utilisons la réplication pour ... eh bien ... la réplication - entre les autres serveurs. :) – BlaM

Répondre

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

requête Ensuite, comme tout autre table avec SELECT, UPDATE, INSERT, DELETE.