Re[20]: MySQL и качество
От: mrTwister Россия  
Дата: 21.06.09 21:28
Оценка:
Здравствуйте, dimgel, Вы писали:

D>Не знаю, как щас, но год-полтора назад ситуация была следующая:

D>1) запускаем скрипт, в единой транзакции обновляющий структуру базы;
D>2) скрипт выбрасывает исключение;
D>3) транзакция откатывается, включая изменения метаданных, хранимых и используемых innodb, но НЕ включая изменения в frm-файлах, используемых ядром мускуля (в т.ч. планировщиком ЕМНИП);
D>4) все последующие запросы к таблицам, метаданные которых рассогласованы, падают с внутренней ошибкой;
D>5) делаем /etc/init.d/mysqld stop;
D>6) ручками или скриптиком восстанавливаем frm-файлы (в документации мускуля было howto);
D>7) делаем /etc/init.d/mysqld start;
D>8) не забываем повторять про себя "во б#$% п#$#$# е#$#$#$ е#@#@ их в с#$#%# что б вы м#$^@ п#$#$%#$# cо своим е#$&@# муcкулем!" в течение всего процесса, начиная с пункта 4 (можно раньше).

А всего то надо было сделать бекап перед деплойментом. Из всего этого следует только то, что деплоймент, изменяющий структуру базы данных на MySQL требует обязательный down-time на время прогона скрипта (и/или создния и восстановления бекапа). Но даже на оракле и скл сервере, все деплойменты которые я проводил/имел отношение/наблюдал проходили с down-time'ом на время бекапа (когда было возможно), прогона скрипта (без транзакций) и первичного тестирования. Так что в данном случае не было бы никакой разницы.
лэт ми спик фром май харт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.