首頁 > 資料庫 > mysql教程 > MySQL配置文件路径及‘The total number of locks exceeds the l_MySQL

MySQL配置文件路径及‘The total number of locks exceeds the l_MySQL

WBOY
發布: 2016-06-01 13:17:48
原創
1139 人瀏覽過

在删除mysql中的数据时,遇到报错:

ERROR 1206 (HY000): The total number of locks exceeds the lock table size
登入後複製

查了查,发现是mysql配置里 innodb_buffer_pool_size 这一个配置太小造成InnoDB在执行大批量数据的插入、删除时会无法执行,检查配置:

mysql> show variables like '%_buffer%';+-------------------------+---------+| Variable_name           | Value   |+-------------------------+---------+| bulk_insert_buffer_size | 8388608 || innodb_buffer_pool_size | 8388608 |
登入後複製

innodb_buffer_pool_size才8M,无语中,OP给配的果然不靠谱,设成256M,重启MySQL

innodb_buffer_pool_size = 256M
登入後複製

然后再检查配置项,发现innodb_buffer_pool_size 依然是8M,感觉很离奇,然后想到是不是配置文件没有生效,所以检查mysql引用的配置文件位置

执行

/home/mysql/bin/mysqld --verbose --help | grep -A 1 'Default options'
登入後複製

结果为

Default options are read from the following files in the given order:/etc/my.cnf /etc/mysql/my.cnf /home/mysql/etc/my.cnf ~/.my.cnf
登入後複製

逐个检查my.cnf,发现根本就没对应的文件,OP给配的果然不靠谱。。

把my.cnf复制到 /home/mysql/etc/ 路径下,重启mysql,检查InnoDB变量

mysql> show variables like '%_buffer%';+-------------------------+-----------+| Variable_name           | Value     |+-------------------------+-----------+| bulk_insert_buffer_size | 8388608   || innodb_buffer_pool_size | 268435456 |...
登入後複製

配置生效,然后再执行之前的delete操作,删除OK

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板