mysql maxopenfiles_Mysql 报错 [Server] Error in accept: Too many open files

当MySQL服务器出现'Error in accept: Too many open files'错误时,可以通过检查并调整系统和MySQL的open_files_limit来解决。首先,使用`ulimit -n`动态修改系统限制为65535,然后编辑`/usr/lib/systemd/system/mysqld.service`和`/etc/security/limits.conf`文件设置MySQL的open_files_limit。最后,执行`systemctl daemon-reload && systemctl restart mysqld`重启MySQL服务以应用更改。
摘要由CSDN通过智能技术生成

查看Mysql日志/var/log/mysqld.log,有如下报错:

2019-05-28T15:08:16.325376Z 0 [ERROR] [MY-010283] [Server] Error in accept: Too many open files

Mysql版本:

# mysql -V

mysql Ver 8.0.15 for Linux on x86_64 (MySQL Community Server - GPL)

CentOS Linux 7 (Core)

解决方法:

查看当前Mysql数据库设置的open_files_limit值:

mysql> show variables like '%open%';

查看当前Mysql运行状态下的Open_files值:

mysql> show status like '%opene%';

1.  Change system open file limit on the fly(dynamically). 先修改服务器,修改open files限制为65535.

# ulimit -n 65535

# ulimit -Hn

65535

# ulimit -Sn

65535

# ulimit -n

65535

# ulimit -a

2. Change Mysql open file limit

vi /usr/lib/systemd/system/mysqld.service

LimitNOFILE=65535

LimitNPROC=65535

vi /usr/lib/systemd/system/mysqld.service

# Sets open_files_limit

LimitNOFILE = 65535

vi /etc/security/limits.conf

mysql hard nofile 65535

mysql soft nofile 65535

# vi /etc/systemd/system/multi-user.target.wants/mysqld.service

# Sets open_files_limit

LimitNOFILE = 65535

4.  Reload and Restart Mysqld to take effect.

systemctl daemon-reload && systemctl restart mysqld

重启后确认设置生效

mysql> show variables like '%open%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值