设为首页 加入收藏

TOP

CentOS 7下升级MySQL5.7.23的一个坑
2018-10-28 16:08:29 】 浏览:83
Tags:CentOS 升级 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)


 


服务设置:[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相同的配置




编程开发网
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL服务器 IO 100%的案例分析 下一篇MySQL Insert语句单个批次数量过..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }