zoukankan      html  css  js  c++  java
  • MySQL 5.6.20-enterprise-commercial的参数文件位置问题

    今天在折腾MySQL的参数文件时,突然发现MySQL 5.6.20-enterprise-commercial-advanced-log这个版本数据库的参数文件my.cnf的位置有点奇怪,如下所示:

     

    [root@DB-Server ~]# mysql --help | grep my.cnf
                          order of preference, my.cnf, $MYSQL_TCP_PORT,
    /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
    [root@DB-Server ~]# ls -lrt /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf 
    ls: /etc/my.cnf: No such file or directory
    ls: /etc/mysql/my.cnf: No such file or directory
    ls: /usr/etc/my.cnf: No such file or directory
    ls: /root/.my.cnf: No such file or directory
    [root@DB-Server ~]# locate my.cnf
    /usr/my.cnf
    [root@DB-Server ~]# find / -name "my.cnf"
    /usr/my.cnf

     

    clip_image001

     

     

    我们知道MySQL启动的时候,会先去读取参数文件my.cnf中的参数去初始化,默认情况下,MySQL会按一定的顺序来读取参数文件,这个顺序为/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf  但是,在这个MySQL版本中my.cnf 参数文件位于/usr/my.cnf下,Why? 一头懵逼! 然后我测试了一下其它版本,例如mysql-community-server-5.7.18,确实都是位于指定的目录,如下所示

     

     

    [root@gettestlnx02 ~]# locate my.cnf      
    /etc/my.cnf
    /etc/my.cnf.d
    [root@gettestlnx02 ~]# strace mysql ";" 2>&1 | grep my.cnf
    stat64("/etc/my.cnf", {st_mode=S_IFREG|0644, st_size=979, ...}) = 0
    open("/etc/my.cnf", O_RDONLY|O_LARGEFILE) = 3
    stat64("/etc/mysql/my.cnf", 0xffc0f4a0) = -1 ENOENT (No such file or directory)
    stat64("/usr/etc/my.cnf", 0xffc0f4a0)   = -1 ENOENT (No such file or directory)
    stat64("/root/.my.cnf", 0xffc0f4a0)     = -1 ENOENT (No such file or directory)
    [root@gettestlnx02 ~]#  rpm -qf  /etc/my.cnf
    mysql-community-server-5.7.18-1.el6.i686
    [root@gettestlnx02 ~]# 

     

     

    clip_image002

     

     

    后面搜索了一下,发现这居然是一个bug来着。具体参考下面链接

     

    https://bugs.mysql.com/bug.php?id=68318

    https://bugs.mysql.com/bug.php?id=71600

     

    With recent MySQL 5.6 versions, the RPM installation generate a non-standard /usr/my.cnf file overriding the sql_mode set in /etc/my.cnf as per: https://bugs.mysql.com/bug.php?id=71600

    This occurs during upcp when minor MySQL updates are installed and breaks some sites due to "STRICT_TRANS_TABLES".

    Please add the flag --keep-my-cnf when executing mysql_install_db or otherwise remove the /usr/my.cnf file after MySQL upgrade during upcp to remove this unexpected change.

     

     

     

    参考资料:

     

    https://features.cpanel.net/topic/disable-creation-of-usrmy-cnf-when-mysql-is-installed

    https://bugs.mysql.com/bug.php?id=71600

  • 相关阅读:
    dig批量获取域名对应IP
    文件和目录
    Linux程序设计的CD唱片应用程序
    LinuxRedhat7.0虚拟机配置双网卡
    Redhat7.0计划任务服务程序(at,crontab)
    RedHat7 修改主机名称 配置网卡信息 配置Yum软件仓库
    关于RedHat5.0不能提示找不到/media/cdrom/repodate/repomd.xml
    Redhat5静态IP分配,提示Error, some other host already uses address解决办法
    三种时间戳的解释
    RHEL 7 -解决“没有启用回购”消息
  • 原文地址:https://www.cnblogs.com/kerrycode/p/7205590.html
Copyright © 2011-2022 走看看