Перемещение таблиц между базами данных

Для небольшой очистки я перемещаю 25 таблиц между базами данных MySQL (разные части оборудования). Это не ВСЕ база данных, всего 25 таблиц из нескольких сотен... Эти таблицы на самом деле не принадлежат, я не буду вдаваться в причины по причинам NDA.

Теперь это сломает много кода и SQL-запросов.

Каков наилучший способ сделать это?

  1. Переместить их все сразу.

  2. Переместите их более 1 на 1

-

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

Перемещать их один за другим - это неплохо, меньше шансов разбить большой материал, но МНОГО больше времени будет потрачено на микроуправление работой, избыточную работу и развертывание.

Могу ли я на какое-то время отразить таблицы между двумя базами данных? Возможно, федеративный стол?

-

Дополнительная информация: 25 таблиц связаны друг с другом по содержанию.

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

-

Каков наилучший способ переместить все эти данные и поддерживать код, sql и меня в отличной форме?

Могу ли я объединить таблицы как способ репликации таблиц в новую базу данных?

-daniel

3 ответа

Решение

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

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

Вы можете использовать SQLYog (MySQL интерфейс), чтобы сделать это.

Опция Meny - Powertools -> Мастер синхронизации баз данных

Вы должны иметь возможность открывать обе базы данных удаленно (там должен быть хост%)

Был там, сделал это, и на самом деле в середине подобного проекта прямо сейчас. С нашими проектами мы унаследовали некоторые из них, которые мы не знаем, что они и где все есть, но вот общий поток:

  • На новом сервере настройте все соответствующие учетные записи
  • Найдите, где изменить сервер и имя пользователя / пароли, если это необходимо, в конфигурации приложения
  • Завершите работу веб-приложения, чтобы не было никаких записей во время перемещения
  • Переместить БД
  • Перенастроить приложение
  • Огонь обратно
  • Повторите для каждой БД / приложения

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

Другие вопросы по тегам