解决ubuntu系统mysql open_files_limit配置不生效问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决ubuntu系统mysql open_files_limit配置不生效问题相关的知识,希望对你有一定的参考价值。

最近接手维护一台mysql服务器,系统是ubuntu 16.04,mysql版本5.7,安装方式是apt检查mysql配置参数时发现open_files_limit是1024,有点小,需要调大一点

首先show global status like ‘open_files_limit‘ 查看目前打开了多少文件,一看是900多,很明显1024太小,需要调大,于是修改/etc/my.cnf 将open_files_limit 设置为65535,然后/etc/init.d/mysql restart重启mysql。

重启完登录mysql用show variables查看发现配置没生效,还是1024。查看mysq日志,原来系统文件描述打开限制是1024,小于65535,mysql认为配置项不合理,所以用了默认值1024,于是修改/etc/secruity/limit.conf,添加以下两行

*           soft   nofile         65535
*           hard   nofile        65535

修改完退出重新登录系统,使修改生效,然后重启mysql。心想这下应该生效了,然而并没有!一看还是1024,查看mysql日志,之前的提示系统文件描述符限制的信息已经没事有了,说明系统的问题已经解决了,难道还有其他限制,goole了一下,原来还要改一个地方

修改/lib/systemd/system/mysql.service,添加以下两行

LimitNOFILE=65535
LimitMEMLOCK=65535

然后执行以下命令重启mysql

#systemctl daemon-reload
#systemctl restart  mysqld.service

问题解决,open_files_limit变成65536了

总结:ubuntu系统下,要这个配置项生效有3个条件:

1.my.cnf要修改open_files_limit
2.系统open_files_limit的值要大于等于mysql的open_files_limit值
3./lib/systemd/system/mysql.service的open_files_limit值要设置的与my.cnf一致

以上是关于解决ubuntu系统mysql open_files_limit配置不生效问题的主要内容,如果未能解决你的问题,请参考以下文章

解决ubuntu系统mysql open_files_limit配置不生效问题

Mysql 在 Ubuntu 系统中崩溃

解决Ubuntu系统下 mysql 远程连接失败的问题 ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx

python 3中beam.io FileBasedSource中的open_file问题

window系统下的pycharm对虚拟机中的Ubuntu系统操作MySQL数据库

python debug open_files