Назад | Перейти на главную страницу

mysqldump хранимые процедуры без блокировки таблиц

Я пытаюсь создать дамп хранимых процедур баз данных mysql и таблиц без блокировки каких-либо строк.

mysqldump -uread_only -p --routines -d --skip-add-locks the_db_name

Это не работает, потому что у меня нет разрешения на блокировку таблицы. Мне не нужно, так как я не хочу копировать сами данные. Хранимые процедуры меняются только раз в год или около того, поэтому мне не повезет поймать конфликт!

Большое спасибо.

mysqldump --skip-lock-tables 

лицо-ладонь прямо там, наверху страница руководства

Помните, что вы должны это сделать, потому что хранимые процедуры (SP) находятся в mysql.proc. Это таблица MyISAM. SELECT для mysql.proc создает неявную блокировку. В других базах данных могут быть SP, которые необходимо изменить (небольшая возможность, но, тем не менее, возможна).

Чтобы гарантировать, что никакие атрибуты какого-либо SP не изменяются, для mysql.proc выдается явная блокировка. Делать --skip-lock-tables это нормально, если вы знаете, что никакие другие SP не меняются.