MySQL5.6解决‘’(1206)The total number of locks exceeds the lock table size‘’问题
在往另一张表INSERT大数据量数据的时候,报出“The total number of locks exceeds the lock table size”这个问题,经查询相关资料,发现是因为innodb_buffer_pool_size不够大的原因,现解决方法步骤如下:
1.在进入MySQL客户端控制台输入如下命令:
show variables like "%_buffer%";
一般情况下innodb_buffer_pool_size默认是134217728byte,也就是128M
我们尝试修改这个值,我根据需要设置为1G=1*1024*1024*1024=1073741824。
输入如下命令:
SET GLOBAL innodb_buffer_pool_size=1073741824;
但是报了如下的错误:
别着急,那我们就来修改下mysql的配置文件就行,如下操作
2.找到mysql的配置文件,一般情况下放在/etc/my.cnf中,添加如下语句
innodb_buffer_pool_size=1073741824
然后重启下mysql server:
$ service mysqld stop
$ service mysqld start
再用show variables like "%_buffer%";查看一下配置
OK,修改完成
3.最后,我们再执行下INSERT语句,插入成功,问题解决~