Перемещение таблиц между базами данных
Для небольшой очистки я перемещаю 25 таблиц между базами данных MySQL (разные части оборудования). Это не ВСЕ база данных, всего 25 таблиц из нескольких сотен... Эти таблицы на самом деле не принадлежат, я не буду вдаваться в причины по причинам NDA.
Теперь это сломает много кода и SQL-запросов.
Каков наилучший способ сделать это?
Переместить их все сразу.
Переместите их более 1 на 1
-
Перемещать их все сразу, довольно приятно. Могут быть некоторые сбои и неработающий код, который я пропустил, но перемещение их как блока происходит намного быстрее, меньше времени затрачивается на выталкивание кода.
Перемещать их один за другим - это неплохо, меньше шансов разбить большой материал, но МНОГО больше времени будет потрачено на микроуправление работой, избыточную работу и развертывание.
Могу ли я на какое-то время отразить таблицы между двумя базами данных? Возможно, федеративный стол?
-
Дополнительная информация: 25 таблиц связаны друг с другом по содержанию.
Я не могу отключить базы данных на несколько часов, допустимо около 5 минут простоя.
-
Каков наилучший способ переместить все эти данные и поддерживать код, sql и меня в отличной форме?
Могу ли я объединить таблицы как способ репликации таблиц в новую базу данных?
-daniel
3 ответа
Кажется, что перемещение их по одному за раз было бы способом пойти. Таким образом, у вас есть куча легких маленьких проблем вместо большой сложной проблемы. Я надеюсь, что ваша система прошла множество автоматических тестов, чтобы убедиться, что все эти перестановки ничего не нарушают.
Другое дело: вы говорите о закрытии базы данных. Если вы вносите изменения в среду разработки и воплощаете их в жизнь только тогда, когда уверены, что все работает, зачем вам простои в работе? Я надеюсь, что вы не думаете о внесении этих изменений в производство, не сделав этого в процессе разработки.
Вы можете использовать SQLYog (MySQL интерфейс), чтобы сделать это.
Опция Meny - Powertools -> Мастер синхронизации баз данных
Вы должны иметь возможность открывать обе базы данных удаленно (там должен быть хост%)
Был там, сделал это, и на самом деле в середине подобного проекта прямо сейчас. С нашими проектами мы унаследовали некоторые из них, которые мы не знаем, что они и где все есть, но вот общий поток:
- На новом сервере настройте все соответствующие учетные записи
- Найдите, где изменить сервер и имя пользователя / пароли, если это необходимо, в конфигурации приложения
- Завершите работу веб-приложения, чтобы не было никаких записей во время перемещения
- Переместить БД
- Перенастроить приложение
- Огонь обратно
- Повторите для каждой БД / приложения
Для небольших вещей это займет всего несколько секунд. SQLyog здесь очень помогает. Если у вас большие базы данных или вы решили, что не хотите простоев, то вам нужно подумать о репликации.