mysqldump存储过程没有locking表

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

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

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

  • 如何高效地转储一个巨大的MySQL innodb数据库?
  • mysqldump不会创build表或导入任何数据
  • 为什么MySQL查询堆积在“发送数据”状态?
  • 更新MySQL数据库
  • 我应该使用什么值的thread_cache_size?
  • 增加InnoDB缓冲池大小
  • 非常感谢。

  • 无预算的MySQL备份
  • “/ usr”,“/ usr / local /”,“/ sbin”
  • 我如何从Linux安装中彻底删除MySQL?
  • MySQL错误:(2003,“无法连接到2001年的MySQL服务器:db8:81:2c :: 2(-9)”)
  • 无法连接到MySQL使用本地主机,但使用“127.0.0.1”没关系?
  • 如何获得有关mysql表转储大小的估值
  • 2 Solutions collect form web for “mysqldump存储过程没有locking表”

     mysqldump --skip-lock-tables 

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

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

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

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.