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