sql >> Database >  >> RDS >> Mysql

Synchroniseer 2 tabellen van verschillende databases - MySQL

Misschien wilt u de opdrachten 'SELECT ... INTO OUTFILE' en 'LOAD DATA INFILE INTO TABLE' gebruiken.

Bewerken:Uitwerking...

Gezien de tabelstructuren:

CREATE TABLE my_local_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime);

CREATE TABLE server_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime,
    local_id int);

En enkele valse gegevens:

INSERT INTO my_local_table (data, created_on) VALUES ('test', now()), ('test2', now());

Je zou de volgende commando's gebruiken:

SELECT id, data, created_on 
    FROM my_local_table
    WHERE created_on >= '2011-08-18'
    INTO OUTFILE '/tmp/t.txt';

-- (and on the server)
LOAD DATA LOCAL INFILE '/tmp/t.txt'
    INTO TABLE server_table
    (local_id, data, created_on);

Om de twee te automatiseren, kunt u een bash-script / batchbestand gebruiken dat mysql aanroept en eerst verbinding maakt met de lokale server met behulp van de eerste instructie en vervolgens met de externe server die de tweede uitvoert.

mysql -e 'SELECT....';
mysql -h remote_server -e 'LOAD DATA...';


  1. PGError:FOUT:toestemming geweigerd voor relatie (bij gebruik van Heroku)

  2. Zip met behulp van Oracle Stored Procedure

  3. EBS 12.2.5 en hoger:verkeerde uitlijning van inlogpaginaknop

  4. De kosten van gratis PostgreSQL-publiciteit