电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 2217 人浏览分享

CentOS 7中升级MySQL 5.7.23的坑与解决方法

[复制链接]
2217 0
本帖最后由 zhaorong 于 2019-4-25 18:10 编辑


前言

最近发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例

2018102111371316.png
在我们环境下打开文件描述符个数的参数open_files_limit在MySQL 5.6.21下都统一配置为
65535,而CentOS 7系统下安装MySQL5.7.23的open_files_limit参数的默认值为5000

否则像分区表数量较多的集群,打开的文件个数过大时,数据库就会报错。

原因如下:

1、CentOS 7安装MySQL5.7.23,服务管理发生了变化,从sysvinit(service
mysql start)变化为systemd(systemctl start mysqld.service)
2、CentOS 7下Limit的配置由下面配置文件来决定
全局设置:/etc/systemd/system.conf(如DefaultLimitNOFILE=65535)

2018102111371317.png
服务设置:[Service]默认值为5000,应该将LimitNOFILE修改为65535

2018102111371318.png
【测试】

1、全局配置文件/etc/systemd/system.conf
2、service配置文件/usr/lib/systemd/system/mysqld.service
3、mysql配置文件/etc/my.cnf

结论

1、当以systemd管理mysql服务时,在下面3个配置文件中同时制定open_files_limit参数
时最终会以service配置文件为准
2、当service相关配置值注释掉时,会以全局配置文件为准

解决方案

1、单台修复方法,按下面步骤

  1. #修改配置
  2. vim /usr/lib/systemd/system/mysqld.service
  3. #重载
  4. systemctl daemon-reload
  5. #重启服务生效
复制代码


2、安装包修复方法,修改下面两个源文件,将5000增加到
65535,重新打包发布,这样新版本默认会保持与MySQL
5.6.21相同的配置

2018102111371419.png

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值如果有疑问大家可以留言交流,谢谢大家的支持。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.