Синхронизация 2 таблиц разных баз данных - MySQL - PullRequest
0 голосов
/ 18 августа 2011

У меня есть таблица с определенной медицинской информацией в таблице базы данных.Я сканирую и анализирую их ежедневно и сохраняю в этой таблице моей локальной базы данных.

Предположим, что первоначально было 1500 записей, сегодня добавлено еще 100 записей на моей локальной машине.У меня есть сервер, на котором мне нужно отправить эти записи (поэтому база данных другая).Я скопировал базу данных вчера.Итак, таблица базы данных сервера теперь имеет 1500 записей.Как я могу синхронизировать новые 100 записей с действующим приложением?

Обратите внимание, что я не могу удалить старые записи с локального компьютера, иначе они будут сканироваться снова и снова.

Ответы [ 2 ]

4 голосов
/ 18 августа 2011

Возможно, вы захотите использовать команды «SELECT ... INTO OUTFILE» и «LOAD DATA INFILE INTO TABLE».

Edit: Elaboration ...

С учетом структур таблицы:

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

И некоторые поддельные данные:

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

Вы будете использовать следующие команды:

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

Для автоматизации этих двух вы можете использовать скрипт bash /пакетный файл, вызывающий mysql, сначала подключающийся к локальному серверу с помощью первого оператора, а затем к удаленному серверу, выполняющему второй.

mysql -e 'SELECT....';
mysql -h remote_server -e 'LOAD DATA...';
0 голосов
/ 18 августа 2011

Вы хотите настроить репликацию между сервером и вашим локальным компьютером - подробности см. В справочной документации .

...