Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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
更新时出现MySQL错误1206_Mysql_Sql - Fatal编程技术网

更新时出现MySQL错误1206

更新时出现MySQL错误1206,mysql,sql,Mysql,Sql,当我尝试更新任何记录时,我在MySQL中收到以下错误:错误1206(HY000):锁的总数超过了锁表的大小 根据我在stackoverflow上能找到的所有相关问题,我推断当innodb\u buffer\u pool\u size变量相对于语句影响的记录数设置得太小时,就会发生此错误 然而,即使当我试图更新一条记录(甚至零条记录)时,我也会收到这个错误,这让我很困惑。我还应该指出,我已经更新了这个表上的记录好几个月了,直到昨天才看到这个错误。即使只更新一条记录,您对导致此错误的原因有何看法 作

当我尝试更新任何记录时,我在MySQL中收到以下错误:
错误1206(HY000):锁的总数超过了锁表的大小

根据我在stackoverflow上能找到的所有相关问题,我推断当
innodb\u buffer\u pool\u size
变量相对于语句影响的记录数设置得太小时,就会发生此错误

然而,即使当我试图更新一条记录(甚至零条记录)时,我也会收到这个错误,这让我很困惑。我还应该指出,我已经更新了这个表上的记录好几个月了,直到昨天才看到这个错误。即使只更新一条记录,您对导致此错误的原因有何看法

作为参考,我使用的是MySQL 5.6。当我执行station
时,显示像'innodb_buffer%'这样的变量我得到以下信息:

+-------------------------------------+----------------+
|变量名称|值|
+-------------------------------------+----------------+
|innodb_缓冲区_池_转储_关闭|关闭|
|innodb|u buffer|u pool|u dump|u立即关闭|
|innodb_buffer_pool|filename|ib_buffer_pool|
|innodb|u缓冲区|u池|u实例| 8|
|innodb缓冲池加载中止关闭|
|innodb缓冲池启动时加载关闭|
|innodb_缓冲区_池_立即加载|关闭|
|innodb缓冲池池大小12582912|
+-------------------------------------+----------------+

任何想法都将受到高度赞赏


编辑:我还应该指出,我可以毫无问题地插入记录。我也承认我在使用Windows



编辑2:看起来增加
innodb\u buffer\u pool\u size
起了作用。然而,这种解决方案与stackoverflow上其他地方流行的观点背道而驰,即可以简单地限制一个查询中访问的记录数(因为我只尝试更新一条记录)。

在阅读了所有与此Mysql错误相关的帖子后,它解决了什么问题 将innodb_缓冲池_大小增加到16106127360


希望能帮助别人;)

您是否尝试重新启动了mysqld
?同时尝试检查
SHOW ENGINE InnoDB STATUS
命令。