Mysql解决The total number of locks exceeds the lock table size报错

2022-07-31,,,,

报这个错表明mysql的默认配置无法满足你的需求了,然后需要我们手动去配置.

在处理大批量数据一次存储在数据库中时,可能会出现这种异常,是由于超过了MySQL缓冲池字节大小的限制。
InnoDB表执行大批量数据的更新,插入,删除操作时会出现这个问题,需要调整InnoDB全局的innodb_buffer_pool_size的值来解决这个问题,并且重启mysql服务,解决办法:
执行命令:

mysql -u root -p
密码:*******

进入mysql命令

show variables like "%_buffer_pool_size%";  

默认的innodb_buffer_pool_size=8388608=8MB,innodb_buffer_pool_size参数表示缓冲池字节大小,InnoDB缓存表和索引数据的内存区域。
修改 innodb_buffer_pool_size的值为 67108864 = 3102410241024 = 3G:(或更大)*
(3x1024x1024x1024,不要忘记;号)

SET GLOBAL innodb_buffer_pool_size=67108864;

然后重启MySQL服务,现在在继续插入就已经没问题了

本文地址:https://blog.csdn.net/hs6605015/article/details/107653751

《Mysql解决The total number of locks exceeds the lock table size报错.doc》

下载本文的Word格式文档,以方便收藏与打印。