Sync 2 tables of different databases - MySQL

后端 未结 2 1493
执笔经年
执笔经年 2021-01-16 19:07

I\'ve a table with certain medical information in a database table. I crawl & parse them daily and store it in that table of my local database.

Suppose there wer

相关标签:
2条回答
  • 2021-01-16 19:36

    You may want to use 'SELECT ... INTO OUTFILE' and 'LOAD DATA INFILE INTO TABLE' commands.

    Edit: Elaboration...

    Given the table structures:

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

    And some bogus data:

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

    You would use the following commands:

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

    To automate the two, you can use a bash script / batch file calling mysql connecting first to the local server using the first statement, then to the remote server executing the second.

    mysql -e 'SELECT....';
    mysql -h remote_server -e 'LOAD DATA...';
    
    0 讨论(0)
  • 2021-01-16 19:37

    You want to set up replication between the server and your local machine -- see the reference documentation for details.

    0 讨论(0)
提交回复
热议问题