Ежедневное резервное копирование MySQL из одной таблицы в другую - PullRequest
0 голосов
/ 20 декабря 2010

Если у меня есть 2 таблицы с одинаковым определением, как я буду ежедневно резервировать данные из них? Могу ли я использовать mySQL Administrator для выполнения чего-то подобного

  • В 12:00 каждый день копируйте все строки из main_table в backup_table
  • Будет предпочтительнее, если это инкрементное резервное копирование, поскольку будут внесены некоторые изменения в записи в файле backup_table, и я не хочу, чтобы новая резервная копия стерла эти изменения.

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 декабря 2010

Давайте начнем с этого: копирование данных из одной таблицы в другую на одном и том же сервере НЕ является резервной копией.

Теперь, если у вас MySQL 5.1.6 или новее, вы можете использовать планировщик событий для планирования таких действий.

http://dev.mysql.com/doc/refman/5.1/en/events.html

Это должно быть так же просто, как выполнить запрос, подобный этому

INSERT INTO 
  secondarydatabase.tableName
SELECT pr.* FROM
  primarydatabase.tableName AS pr
LEFT JOIN
  secondarydatabase.tableName AS sec
USING(primaryKeyColumn)
WHERE sec.primaryKeyColumn IS NULL

(при этом будут скопированы все новые строки, изменения в уже существующих строках не будут скопированы)

Что касается фактического резервного копирования, пожалуйста, прочитайте это:

http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html

0 голосов
/ 20 декабря 2010

Да, вы определенно можете это сделать.Взгляните на эту страницу: http://dev.mysql.com/doc/refman/5.0/en/batch-mode.html

Если вы тщательно пишете свой сценарий, чтобы не отбрасывать таблицу, а просто вставлять новые строки, вам не нужно беспокоиться о потере данных.Если у вас есть временная метка, хранящаяся для каждой строки в таблице, это намного упрощает задачу.Вы можете использовать отметку времени для загрузки / обновления новых строк, которые были изменены или добавлены с момента последнего запуска пакета.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...