Я пытаюсь создать дамп хранимых процедур баз данных 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 не меняются.