使用mysql来进行更新大量数据的时候,报错:The total number of locks exceeds the lock table size 。 原因是全局设置的 innodb_buffer_pool_size 为 8M ,调整大一些就可以了。
show variables like "%_buffer%";
SET GLOBAL innodb_buffer_pool_size=67108864;
这里调整为64M ,至于是大还是小.. 正在尝试,目前更新的数据大约在100W左右。
这里兼带一个MYSQL 崩溃的问题,在处理这个问题前,更新这个数据已经导致我mysql服务崩溃了三次了.. 当前崩溃前都没出现过上面的错误。
问题是,崩溃后,mysql 服务就无法启动了,之前还傻乎乎的重装,后来发先在 data 里面有报错信息,删除就可以重启了.
将 .err
和 logfile
删除掉,然后尝试重启,尽量备份下哈。说不定就删错了。
转载请注明出处: https://chrunlee.cn/article/mysql-error-buffer-pool-size.html