zoukankan      html  css  js  c++  java
  • CentOS 7下升级MySQL5.7.23的一个坑

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

     

  • 相关阅读:
    do...while(0)的妙用
    用位运算实现求绝对值-有效避开ifelse判断
    经典排序算法的C++ template封装
    DOM学习总结(二) 熊削铁如泥
    标签设计Loop标签
    asp:树型select菜单
    自家用的DataReapter分页代码
    正则表达式(一)
    C#中利用正则表达式实现字符串搜索
    解读C#中的正则表达式
  • 原文地址:https://www.cnblogs.com/wangdong/p/9805943.html
Copyright © 2011-2022 走看看