在centos 7环境中升级到mysql 5.7.23时,我们遇到了一些问题,以前的一个mysql 5.7.23集群升级为例进行说明。
在我们的环境中,文件描述符参数open_files_limit在MySQL 5.6.21版本中统一设置为65535,而在CentOS 7上安装MySQL 5.7.23时,open_files_limit参数的默认值变为5000。
如果集群中有大量的分区表,打开的文件数量超出限制时,数据库会报错。
问题原因如下:
1、在CentOS 7上安装MySQL 5.7.23时,服务管理从sysvinit(service mysql start)变更为systemd(systemctl start mysqld.service)。
2、在CentOS 7上,Limit的配置由以下配置文件决定:
全局设置:/etc/systemd/system.conf(例如DefaultLimitNOFILE=65535)
服务设置:在[Service]部分,默认值为5000,应该将LimitNOFILE修改为65535。
【测试】
1、全局配置文件/etc/systemd/system.conf
2、服务配置文件/usr/lib/systemd/system/mysqld.service
3、MySQL配置文件/etc/my.cnf
【结论】
1、当使用systemd管理MySQL服务时,如果在上述三个配置文件中同时设置open_files_limit参数,最终以service配置文件为准。
2、当service配置文件中的相关配置值被注释掉时,将以全局配置文件为准。
【解决方案】
1、单台服务器修复方法如下:
#修改配置
vim /usr/lib/systemd/system/mysqld.service
#重载
systemctl daemon-reload
#重启服务以生效
systemctl restart mysqld@replica01.service
2、安装包修复方法:修改以下两个源文件,将5000增加到65535,然后重新打包发布,这样新版本将保持与MySQL 5.6.21相同的配置。

以上就是CentOS 7下升级MySQL5.7.23的一个坑的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号