在往另外一張表INSERT大數據量數據的時候,報出「The total number of locks exceeds the lock table size」這個問題,經查詢相關資料,發現是由於innodb_buffer_pool_size不夠大的緣由,現解決方法步驟以下:mysql
1.在進入MySQL客戶端控制檯輸入以下命令:sql
show variables like "%_buffer%";大數據
通常狀況下innodb_buffer_pool_size默認是134217728byte,也就是128Mserver
咱們嘗試修改這個值,我根據須要設置爲1G=1*1024*1024*1024=1073741824。blog
輸入以下命令:innodb
SET GLOBAL innodb_buffer_pool_size=1073741824;table
可是報了以下的錯誤:配置
彆着急,那咱們就來修改下mysql的配置文件就行,以下操做service
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語句,插入成功,問題解決~