我需要得到一个PHP应用程序来检测它的MySQL数据库何时处于readlock状态,并抛出一条错误消息。很简单,但是因为查询排队等待解锁,我们是否可以运行任何MySQL命令来检查当前的锁定状态,而不仅仅是使系统卡住?

干杯,

约翰松

编辑:数据库正由DBA置于readlock中,但是我们的客户希望应用程序自动处理这种适应性...我在浏览文档时未找到任何内容,因此请专家:-)

最佳答案

在检查了文档之后,似乎没有办法通过PHP的mysql C API做到这一点。

您可以通过运行“ SHOW ENGINE [EngineName] STATUS”来查看检测到的死锁,将引擎名称替换为INNDOB,MyISAM或运行锁定表的任何引擎。

您还可以通过从命令行运行“ mysqladmin debug”来获取锁信息。

人们已请求SHOW LOCKS命令,但该命令尚不存在。

这就是我可以从文档中确定的全部内容。我希望其他人对此有解决方案,因为这对我可能非常有用。

09-30 17:10
查看更多