在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配置文件为准。
神采PromeAI
将涂鸦和照片转化为插画,将线稿转化为完整的上色稿。
103 查看详情
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的一个坑的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/942470.html
微信扫一扫
支付宝扫一扫