我试图创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正在改变。