max_open_files 导致MySQL产生异常

今天同事说跑程序时MySQL总自动断开而后程序会停止,因为MySQL和程序是在同一台机器排除网络原因,后来随便找一个数据少的表,用select count(*) from news;一直不断的刷新,过一小会就会出现:

MySQL server has gone away No connection. Trying TO reconnect...

之前出现类似has gone away的时候是因为导入数据时max_allowed_packet值太小的原因,试着加大没有效果,接着看日志发现问题了

Nov 12 16:05:09 spider mysqld[763]: 091112 16:05:09 [Warning] Could not increase number of max_open_files to more than 1024 (request: 1210)

接着查看MySQL的open_files_limit为1024,如下:

mysql> SHOW VARIABLES LIKE 'open%';
 +------------------+-------+
 | Variable_name    | Value |
 +------------------+-------+
 | open_files_limit | 1024  |
 +------------------+-------+
 1 row IN SET (0.00 sec)

在/etc/my.cnf加入open_files_limit=8192后重启MySQL后查看不起作用

接着查看了下系统默认的打开文件数

ulimit -n
1024

在/etc/security/limits.conf添加

*               soft    nofile          8192
*               hard    nofile          8192

重新登录并重启MySQL后查看

ulimit -n
8192
SHOW VARIABLES LIKE 'open%';
 +------------------+-------+
 | Variable_name    | Value |
 +------------------+-------+
 | open_files_limit | 8192  |
 +------------------+-------+
 1 row IN SET (0.00 sec)

再次跑程序异常消失。


One Response to “max_open_files 导致MySQL产生异常”

  1. [...] 原文地址:http://www.lsanotes.cn/max_open_files_mysql 相关文章MySQL调优脚本tuning-primer.sh 在ubuntu上安装mysql 开机启动mysql与apacheUbuntu 下apache支持php, php支持mysql方法Linux课堂:Ubuntu Apache服务之PHP配置Ubuntu 10.10配置 Apache + PHP + Mysql 成功mysql的三种安装方式:RPM 二进制包和源代码linux mysql 命令用源码包安装php-4.4.0+mysql-4.1.9+apache-2.0.54mysql修改登录密码mysql查询优化linux下运行php连接mysql错误Can’t connect to local MySQL server through socket[[Installation Guide]] Multi-Master Replication Manager for MySQLHow To Set Up Database Replication In MySQL [...]

Post a Comment