Хранимые процедуры и mysqldump

· На чтение уйдёт 1 минута · (107 слов)

Никогда не понимал, почему каждый раз при переезде сервера на новое железо, приходится перетаскивать хранимые процедуры отдельно.

Для тех, кто обладает памятью, лучшей, чем у меня: экспорт хранимых процедур и функций включается параметром --routines, например:

mysqldump --routines --extended-insert berserk > outputfile.sql

Если же база уже перенесена, и не хватает лишь переноса хранимых функций и процедур, можно воспользоваться командой:

mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt berserk > outputfile.sql

Название базы (berserk) выделено курсивом, вероятно, вам потребуется его заменить. Импорт в базу на новом сервере можно осуществить так:

mysql newberserk < outputfile.sql

Выполнит импорт в базу newberserk. Очень жаль, что --routines до сих пор не является параметром по умолчанию.

Полезное