mysql "too many open files"问题解决!

1、环境:

ubuntu 16.04  x86_64 GNU/Linux

mysql  5.7.19-0ubuntu0.16.04.1 (Ubuntu)

2、永久修改ulimit中的max file open限制

2.1、查看系统可以设置的打开的最大文件数

cat /proc/sys/fs/file-max
2.2、查看系统定义的默认限制值

ulimit -a
2.3、开始修改

打开:sudo vi /etc/sysctl.conf
编辑:fs.file-max = 4096
执行:sudo sysctl -p

打开:sudo vi /etc/security/limits.conf
编辑:
* soft     nproc          4096
* hard     nproc          4096   
* soft     nofile         4096   
* hard     nofile         4096

打开:sudo vi /etc/pam.d/common-session
编辑:session required pam_limits.so

注销ubuntu,登录后执行:ulimit -n

3、mysql配置

3.1、查看mysql当前打开文件数

show global status like 'open%';
3.2、查看mysql配置的最大打开文件数

show global variables like '%open%';


无敌分界线

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

上面的根本没用!!!

mkdir /etc/systemd/system/mysql.service.d
vim /etc/systemd/system/mysql.service.d/limits.conf

[Service]
LimitNOFILE=10000
LimitMEMLOCK=10000

systemctl daemon-reload
systemctl restart mysql
mysql> show global variables like '%open%';

感谢Google:

Ubuntu 16.04 - 默认的MySQL 5.7配置

优化MySQL table_open_cache

无法为Ubuntu 15中的Mysql max连接增加max_open_files

MySQL手册:MySQL如何打开和关闭表




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值