【问题标题】:MySQL backup is interrupted when the same DB is queried upon查询同一个数据库时 MySQL 备份中断
【发布时间】:2012-10-08 07:25:50
【问题描述】:

我正在使用 Powershell 脚本进行 MySQL 备份。一切正常,但是当我查询同一个数据库时,它挂断了。备份过程中如何锁定数据库?

&cmd /c $MySQL_Dump_Path -h $mysql_server -port=$mysql_port -u $mysql_user --password=$mysql_password --routines --single-transaction --quick --no-autocommit --no-表空间 $dbname| Out-File -FilePath ".\Backup\$Dump" -Encoding UTF8

【问题讨论】:

  • "...当我查询同一个数据库时,它挂断了。"好像已经锁定了?

标签: mysql powershell


【解决方案1】:

您可以在转储期间添加 --lock-tables 或真正的暴力方式 --lock-all-tables。

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html#option_mysqldump_lock-all-tables

编辑:但是只要转储正在运行,这就会锁定对系统的查询调用。

【讨论】:

  • 我试过 --lock-tables abd 查询数据库仍然有正常的问题。
  • hm,您是否有非常大的表(超过服务器上 RAM 的容量)?如果没有,请尝试使用“--skip-quick”选项强制转储进程在转储之前将所有值拉入内存,从而避免锁定。一个附带问题,您是否混合了 innoDB 和 mysiam 模式类型?
  • 我自始至终都有 innoDB。我有一个大小约为 2 Gb 的数据库。
猜你喜欢
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 2018-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 1970-01-01
相关资源
最近更新 更多