Как мигрировать схему работающей БД?
Есть проект с несколькими серверами, которые используют СУБД MySQL (один экземпляр, но реплики в планах). Как я понял из практического опыта, невозможно изменять схему таблиц, которые используются в данный момент. Однако у серверов постоянное подключение к БД и они блокируют нужную таблицу (видно по полю In_use в команде SHOW OPEN TABLES;). На данный момент проект в стадии разработки, поэтому для изменения схемы можно спокойно отключить сервера на пару минут. Но как производить обновление схемы на проде без остановки серверов? И нужно ли для этого принимать какие-то меры на этапе разработки?
Ответы (1 шт):
Если речь идет про mysql, то можно попробовать
mysqldump --no-data dbname > database_schema.sql
p.s.: хм.. что-то я сначала не дочитал вопрос, отвлекся. и теперь дал ответ не в полной мере отвечающий вопросу :) сорри