Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL错误:超过锁等待超时;尝试重新启动事务_Php_Mysql_Locking - Fatal编程技术网

Php MySQL错误:超过锁等待超时;尝试重新启动事务

Php MySQL错误:超过锁等待超时;尝试重新启动事务,php,mysql,locking,Php,Mysql,Locking,我们有一个在早上5:15运行的脚本,从36个远程站点检索数据。每个站点都会运行一个单独的脚本实例,因此所有36个脚本都会同时运行。数据范围从400K到1MB 当数据来自远程站点时,脚本尝试删除MySQL数据库中相同日期和站点id的行,然后插入新数据。我们经常会遇到以下错误: 超过锁定等待超时;尝试重新启动事务mysql 当它试图删除旧的行时。有时脚本只是停止响应而没有错误消息 该错误是否意味着无法删除或插入数据,因为表已锁定 我们如何解决这个问题 有没有办法让delete/insert SQL队

我们有一个在早上5:15运行的脚本,从36个远程站点检索数据。每个站点都会运行一个单独的脚本实例,因此所有36个脚本都会同时运行。数据范围从400K到1MB

当数据来自远程站点时,脚本尝试删除MySQL数据库中相同日期和站点id的行,然后插入新数据。我们经常会遇到以下错误:

超过锁定等待超时;尝试重新启动事务mysql

当它试图删除旧的行时。有时脚本只是停止响应而没有错误消息

该错误是否意味着无法删除或插入数据,因为表已锁定

我们如何解决这个问题

有没有办法让delete/insert SQL队列排队并等待表解锁


我们有许多其他脚本插入所有36个站点的数据,但我们只有两个脚本出现此错误。这两个脚本带来的数据比任何其他脚本都要多得多。

这并不是我所希望的答案,但我有一个解决方法。当PHP尝试将数据删除/插入MySQL时,它会检查返回值以查看是否有任何错误。如果发现锁等待错误,它将重试最多10分钟以插入数据。由于进行了此更改,似乎已解决了此问题。顺便说一句,我们什么都用PDO