mysqldump存储过程没有locking表

我试图创build一个MySQL数据库存储过程和表'形状'的转储,而不locking任何行。

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

这不起作用,因为我没有权限locking表。 我不需要,因为我不想复制数据本身。 存储过程每年只会改变一次,所以我会不幸碰到冲突!

非常感谢。

 mysqldump --skip-lock-tables 

在手册页的顶部有一个面部掌心

请记住,你必须这样做,因为存储过程(SP)住在mysql.proc中。 这是一个MyISAM表。 select反对mysql.proc创build一个隐式锁。 其他数据库可能有需要改变的SP(虽然可能性小,但可能)。

为了确保没有关于任何SP的属性被改变,对mysql.proc发出一个明确的locking。 做--skip-lock-tables是可以做的,只要你知道没有其他的SP正在改变。