Перенос mySQL из разработки в производство

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

Какова наилучшая практика для этого?

Я нашел некоторые инструменты diff (например, mySQL diff), но они не управляют обновленными записями. Я также нашел некоторое решение для приложения: http://www.isocra.com/2004/10/dumptosql/ но я не уверен, что это хорошая практика, так как в этом случае мне нужно повторно протестировать мой код каждый раз, когда я добавляю новые таблицы, связанные с innodb.

Есть идеи?

1
nl ja de
Спасибо, я взглянул на них, один из них - мастер/подчиненный, чтобы точно скопировать db (но я не могу, потому что на производстве у меня есть пользовательские данные, которые у меня нет в разработке). Другое решение обсуждается в следующем ответе, мне просто нужно понять, управляет ли он обновленными записями.
добавлено автор Daniele, источник
Вам это нужно один раз или вам нужно делать это регулярно?
добавлено автор Swapnil, источник
superuser.com/questions/90301/sync-two-mysql-databases Я думаю, это может быть полезный
добавлено автор cristi _b, источник

1 ответы

Взгляните на mysqldump . Это может служить вам достаточно хорошо для этого.

Предполагая, что ваши таблицы индексированы каким-то уникальным ключом, вы можете сделать дамп и оставить его в полях «drop/create table». Запустите его как «вставить игнорировать», и вы получите новые данные без использования существующих данных.

Другой вариант - использовать часть запроса mysqldump, чтобы сбрасывать только новые записи со стороны производства. Опять же - у mysqldump останутся биты «drop/create».

0
добавлено
Для сценария № 2 вам понадобится какой-то способ идентифицировать их. Для # 1 вы сбрасываете все и позволяете уникальным ключам сортировать их. Это немного грубо, но это действительно работает.
добавлено автор ethrbunny, источник
Спасибо, как мне управлять обновленными записями? Думаю, здесь записи уже были проиндексированы.
добавлено автор Daniele, источник
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw