Mysql
 sql >> Database >  >> RDS >> Mysql

Copia una tabella con i dati da un server MySQL a un altro

Puoi impostare tabelle federate , che fondamentalmente collega una tabella su un server a una tabella su un altro. Quindi usa la federazione per eseguire i tuoi trasferimenti di dati.

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';

Quindi puoi interrogarlo come qualsiasi altra tabella.

Ci sono tuttavia un discreto numero di limitazioni di cui dovresti leggere inclusa la password remota memorizzata come testo normale. Se si trattava di una configurazione temporanea esclusivamente per una copia una tantum e il server non è disponibile al pubblico, tuttavia, hai già ridotto al minimo la maggior parte dei rischi ad essa associati.