Инкрементный дамп SQL mysql - PullRequest
       0

Инкрементный дамп SQL mysql

0 голосов
/ 18 августа 2010

Я использую MySql в качестве базы данных для разработки, а также на сервере, где размещен мой веб-сайт. Теперь каждый день я добавляю новые данные в базу данных и сохраняю их как дамп SQL с помощью SQLyog. Но когда дело доходит до обновления данных за этот день в базе данных Mysql на сервере, мне приходится обрезать таблицы, а затем вставлять новые данные. Что приводит к следующим проблемам:

  1. Данные представляют собой 5000+ строк в каждой таблице, запрос вставки не выполняется. Поэтому я должен вставить данные в пакетах по 2000 строк.

  2. В то время, когда я обрезаю конкретную таблицу, а новые данные еще не вставлены, любой запрос на веб-сайте не приведет ни к каким данным. Что составляет от 5 до 7 минут.

  3. Каждый день в каждую таблицу добавляется только около 300 строк, но мне нужно вставить полные данные для таблицы.

Пожалуйста, предложите, как я могу сделать инкрементное резервное копирование своей локальной базы данных MySql, чтобы я мог обновить ее на сервере, а не полные данные до этого дня.

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Если это простая среда разработки, я бы на самом деле не рекомендовал бы идти по пути добавочного дампа. AFAIK, mysql не предоставляет встроенный способ сделать это. Если вы действительно хотите сделать это, вы можете использовать двоичный журнал. Использование двоичного журнала для воспроизведения выписок следующего дня. Внутренне MySQL использует двоичный журнал для репликации. (Отказ от ответственности, я никогда не делал этого раньше, и я уверен, что у вас возникнут проблемы, если вы вставили или удалили из своей копии для разработки.)

Кроме того, вы можете просто создать еще одну базу данных, импортировать в нее дамп и перенастроить свое приложение для использования новой базы данных. Как только вы переконфигурируете, сбросьте вчерашнюю БД, и все хорошо. Нет простоя ...

0 голосов
/ 18 августа 2010

Почему бы вам просто не использовать дамп командной строки и восстановить его следующим образом -

Чтобы создать дамп -

mysql -u root -h localhost -p db_name> db_name_dump_version.sql

Это приведет к сбросу базы данных в файл db_name_dump_version.sql

Затем для восстановления из него -

mysql -u root -h localhost -p db_name

Командная строка mysql невероятно быстра, поэтому вам не придется ждать более 10 секунд даже для миллионной строки базы данных.

...