首页 > 数据库技术 > 详细

MySQL配置文件路径及‘The total number of locks exceeds the lock table size’问题

时间:2014-04-03 12:40:11      阅读:596      评论:0      收藏:0      [点我收藏+]

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

ERROR 1206 (HY000): The total number of locks exceeds the lock table size

bubuko.com,布布扣

查了查,发现是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变量

bubuko.com,布布扣
mysql> show variables like ‘%_buffer%‘;
+-------------------------+-----------+
| Variable_name           | Value     |
+-------------------------+-----------+
| bulk_insert_buffer_size | 8388608   |
| innodb_buffer_pool_size | 268435456 |
...
bubuko.com,布布扣

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

bubuko.com,布布扣

MySQL配置文件路径及‘The total number of locks exceeds the lock table size’问题,布布扣,bubuko.com

MySQL配置文件路径及‘The total number of locks exceeds the lock table size’问题

原文:http://www.cnblogs.com/zhaobolu/p/3641020.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!