阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7下升级MySQL5.7.23的一个坑

187次阅读
没有评论

共计 860 个字符,预计需要花费 3 分钟才能阅读完成。

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

CentOS 7 下升级 MySQL5.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)

 CentOS 7 下升级 MySQL5.7.23 的一个坑

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

 CentOS 7 下升级 MySQL5.7.23 的一个坑

【测试】

 

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 相同的配置

CentOS 7 下升级 MySQL5.7.23 的一个坑

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计860字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中