这是MySQL在启动时提示的警告信息,意思是MySQL想要打开20000个文件,但系统限制了最大只能打开5000个文件。这可能会导致MySQL无法正常工作或者性能下降。
解决方法是修改系统的文件句柄限制,使其可以满足MySQL的需求。具体步骤如下:
打开/etc/security/limits.conf文件:sudo vi /etc/security/limits.conf
在末尾添加以下内容(假设你使用的用户为mysql):
mysql soft nofile 20000
mysql hard nofile 40000
其中soft和hard分别表示软限制和硬限制,nofile表示最大打开文件数。上面的配置表示mysql用户可以打开最多20000个文件,如果超过了这个值,则会收到警告;而硬限制则表示最多可以打开40000个文件。
打开/etc/pam.d/common-session文件:sudo vi /etc/pam.d/common-session
在末尾添加以下行:
session required pam_limits.so
保存并关闭以上两个文件
重启系统,使新的配置生效:sudo reboot
验证是否成功修改了限制值:
- 登录MySQL:mysql -u root -p
- 执行命令:show variables like ‘open%’;
如果输出结果中有”max_open_files”且值已经变为你所设定的值(例如20000),则表示已经成功修改了文件句柄限制。




