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語句,插入成功,問題解決~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM