Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kopieren Sie eine Tabelle mit Daten von einem MySQL-Server auf einen anderen

Sie können verbundene Tabellen einrichten , das im Grunde eine Tabelle auf einem Server mit einer Tabelle auf einem anderen verknüpft. Verwenden Sie dann den Verbund, um Ihre Datenübertragungen durchzuführen.

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

Dann können Sie sie wie jede andere Tabelle abfragen.

Es gibt jedoch eine ordentliche Anzahl von Einschränkungen, über die Sie lesen sollten einschließlich Speicherung des Remote-Passworts im Klartext. Wenn dies nur eine vorübergehende Einrichtung für eine einmalige Kopie war und der Server nicht für die Öffentlichkeit verfügbar ist, haben Sie das damit verbundene Risiko bereits größtenteils minimiert.