Mysql
 sql >> Base de données >  >> RDS >> Mysql

Copier une table avec des données d'un serveur MySQL à un autre

Vous pouvez configurer tables fédérées , qui consiste essentiellement à lier une table sur un serveur à une table sur un autre. Utilisez ensuite la fédération pour effectuer vos transferts de données.

CREATE TABLE test_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=MyISAM
DEFAULT CHARSET=latin1;
CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://[email protected]_host:9306/federated/test_table';

Ensuite, vous pouvez l'interroger comme n'importe quelle autre table.

Il existe cependant un nombre décent de limitations que vous devriez lire y compris le mot de passe distant stocké en texte clair. S'il s'agissait d'une configuration temporaire uniquement pour une copie unique et que le serveur n'est pas accessible au public, vous avez déjà minimisé la plupart des risques qui y sont associés.