用于检查MySQL TABLE LOCK状态的Php脚本

时间:2010-12-29 11:54:25

标签: php mysql locking mysqldump

我使用mysqldump进行MySQL备份。

mysqldump --lock-tables....

DB约为2GB,因此mysqldump需要很长时间。 如果有人在备份期间尝试访问数据库,我想闪一条消息说“数据库正在备份,请在10分钟后返回”

我的问题是使用PHP脚本,如何检查mysql表是否被锁定。

提前谢谢。

祝你好运, 桑杰

2 个答案:

答案 0 :(得分:2)

首选方法将是设置复制,
而且在slave上的mysqldump而不是master(假设只有master正在处理请求)

所以,你从未遇到过停机时间

答案 1 :(得分:1)

如果您同时拥有读/写锁,则可以编写一个尝试访问/写入表的php脚本,如果它被锁定,MySQL服务器将出现错误,您将能够评估代码并发送一个如果错误是因为表被锁定,则显示错误消息。

HTH!

编辑:您可以查看MySQL GET_LOCK函数