Обновление базы данных данными, добавленными в резервную копию после сбоя

Наше приложение базы данных MySQL разбилось. У нас была резервная копия, и мы восстановили ее примерно через неделю после сбоя системы. Тем временем мы использовали приложение для резервного копирования базы данных. Как я могу добавить данные из разрыва этой недели в базу данных.

Как лучше всего это сделать?

РЕДАКТИРОВАТЬ.

Структура таблицы такая же. Есть несколько таблиц с внешними ключами.

Собственно мой вопрос сводится к следующему:

Первичные ключи на двух серверах выглядят так:

serv1: 123456---

serv2: 123---456

Все это внешние ключи во вторичной таблице

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


person Tim Zhukov-Khovanskiy    schedule 21.05.2014    source источник
comment
Слишком широко :( Вы хотите, чтобы мы рассказали вам, как получить данные из приложения, о котором вы нам ничего не говорите, и записать их в базу данных, о которой вы нам ничего не говорите?   -  person Frazz    schedule 21.05.2014


Ответы (1)


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

Вы можете попробовать: http://www.red-gate.com/products/mysql/mysql-data-compare/ Или: http://www.devart.com/dbforge/sql/datacompare/

С workbench вы можете сравнить схемы: http://dev.mysql.com/doc/workbench/en/wb-database-diff-report.html

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

  • Итак, поместите обе базы данных (живую и последнюю базу данных в две тестовые среды)
  • Синхронизируйте их и проверьте различия

Запустите исправление в тесте, если все пойдет хорошо, сделайте это в рабочей среде.

person Gabriel    schedule 21.05.2014
comment
Схема базы данных ничем не отличается, но индексы пересекаются между ними. - person Tim Zhukov-Khovanskiy; 21.05.2014
comment
Боюсь, для этого нужна ручная работа, боюсь, никакой синхронизатор базы данных не исправит это для вас. вы знакомы со схемой? Вы всегда можете написать собственный сценарий для выполнения этой работы? - person Gabriel; 22.05.2014
comment
Я отказываюсь от ручного труда. Хорошо, что в конце таблицы PK всего 12 ключей, которые не по порядку. Однако он привязан к fks за 30 столами. - person Tim Zhukov-Khovanskiy; 22.05.2014
comment
12 ключей и сколько всего записей в подтаблице? Если его пронумеровать так, я думаю, вы сможете легко сделать это с помощью запросов. скажите мне, если вам нужна помощь. - person Gabriel; 22.05.2014
comment
Имеется около 30 подтаблиц, в каждой из которых содержится от 10 до 100 000 записей. Сначала я устанавливаю каскадирование всех внешних ключей при обновлении. Затем переназначьте pks. - person Tim Zhukov-Khovanskiy; 22.05.2014
comment
На самом деле у меня все это установлено на тестовой среде с копиями обеих баз данных на сервере. - person Tim Zhukov-Khovanskiy; 22.05.2014