使用mysql将同一数据库的表格数据(根据条件筛选的部分数据)转换到当前数据库下另一个表格中,使用了插入和删除操作,由于数据量较大导致报错:‘’The total number of locks exceeds the lock table size‘’。这里使用的版本为MySQL5.7,经过查询相关解决办法,根据自己的MySQL版本将解决方法总结如下:
1.打开MySQL命令行控制台
此时需要注意,确保你的MySQL Notifier处于工作状态,否则打开命令行将闪退。
2.输入密码和相关命令
在进入MySQL命令行控制台输入如下命令:
show variables like "%_buffer%";
结果显示如下:
以上结果表明默认状态下innodb_buffer_pool_size=8M,我们尝试修改这个值,比如将其设置为1G=1*1024*1024*1024。输入如下命令:
SET
GLOBAL innodb_buffer_pool_size=1073741824;
设置后返回结果:
输入\quit命令退出,并且关掉MySQL Notifier,(右键单击图标,有相关操作)。注意,一定要正确退出命令行控制台和MySQL Notifier,否则修改是没有变化的。如果一次修改不成功可再次尝试。
3.查看修改结果
重新启动MySQL Notifier,并查看结果。此时再进行大批量数据插入错误消失。