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

报这个错表明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服务,现在在继续插入就已经没问题了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值