CentOS 7中升级MySQL 5.7.23的坑与解决方法
作者:wangdong 时间:2024-01-16 21:54:53
前言
最近发现CentOS 7下升级MySQL5.7.23的一个坑,以前面升级到MySQL 5.7.23的一个集群为例
在我们环境下打开文件描述符个数的参数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)
服务设置:[Service]默认值为5000,应该将LimitNOFILE修改为65535
【测试】
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、单台修复方法,按下面步骤
#修改配置
vim /usr/lib/systemd/system/mysqld.service
#重载
systemctl daemon-reload
#重启服务生效
systemctl restart mysqld@replica01.service
2、安装包修复方法,修改下面两个源文件,将5000增加到65535,重新打包发布,这样新版本默认会保持与MySQL5.6.21相同的配置
来源:https://www.cnblogs.com/wangdong/p/9805943.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
实现php删除链表中重复的结点
用Python实现一个简单的多线程TCP服务器的教程
![](https://img.aspxhome.com/file/2023/8/109908_0s.png)
Python使用微信SDK实现的微信支付功能示例
如何使用python中的networkx来生成一个图
![](https://img.aspxhome.com/file/2023/3/101663_0s.png)
python图形用户界面tkinter之按钮Button的使用说明
![](https://img.aspxhome.com/file/2023/4/106974_0s.png)
oledb连接access数据库示例
基于python代码批量处理图片resize
简述MySQL InnoDB存储引擎
深入了解如何基于Python读写Kafka
从DataFrame中提取出Series或DataFrame对象的方法
Python的Django框架中模板碎片缓存简介
SQL Server 2005 内置工具建审查系统
基于Python实现微信聊天界面生成器
![](https://img.aspxhome.com/file/2023/6/67906_0s.png)
python入门课程第四讲之内置数据类型有哪些
![](https://img.aspxhome.com/file/2023/7/113157_0s.png)
两级联动select刷新后其值保持不变的实现方法
浅谈python条件表达式:多项分支,双向分支
如何理解python对象
mysql 表维护与改造代码分享
基于JavaScript实现回到页面顶部动画代码
简单说明Python中的装饰器的用法
![](https://img.aspxhome.com/file/2023/8/89428_0s.png)