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

我们知道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 ~]#

后面搜索了一下,发现这居然是一个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
MySQL 5.6.20-enterprise-commercial的参数文件位置问题的更多相关文章
- Oracle12c多租户CDB 与 PDB 参数文件位置探讨、查询 CDB 与 PDB 不同值的参数
一. Oracle12c多租户CDB 与 PDB 参数文件位置CDB的参数文件依然使用12c以前的SPIFLE,pdb的参数文件不会出现在SPFILE中,而是直接从CDB中继承,如果PDB中有priv ...
- mysql 5.7.20 动态sql 传入参数
drop procedure test; delimiter ;; CREATE procedure test() -- 取动态sql的值 -- 目前只测试出,在 where 后面, 可以用 ?,类似 ...
- MySQL参数文件位置
对于linux/unix: mysql --help|grep my.cnf /etc/my.cnf, /etc/mysql/my.cnf, /usr/local/etc/my.cnf, ~/.m ...
- 【查阅】mysql配置文件/参数文件重要参数笔录(my.cnf)
持续更新,积累自己对参数的理解 [1]my.cnf参数 [client]port = 3306socket = /mysql/data/3306/mysql.sockdefault-character ...
- MYSQL数据库的参数文件
参数文件:告诉MySQL实例启动时在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还会介绍各种参数的类型. 参数文件 当MySQL实例启动时,MySQL会先去 ...
- oracle参数文件spfile和pfile
一.参数文件说明 PFILE(Initialiazation Parameter Files)初始化参数文件,是文本文件,可直使用文本编辑器查看.如果数据库使用的是初始化参数文件PFILE,要想永久修 ...
- oracle参数文件与启动过程
oracle随系统启动而启动 cs65-64桌面版orcle-11.2.0.4 启动监听器,后台进程,OEM. 注意: 如果只做一和三,只能启动后台进程,监听器不启动,如果只做二和三,只能启动监听器, ...
- MySQL服务读取参数文件my.cnf的规律研究探索
在MySQL中,它是按什么顺序或规律去读取my.cnf配置文件的呢?其实只要你花一点功夫,实验测试一下就能弄清楚,下面的实验环境为5.7.21 MySQL Community Server.其它版本如 ...
- Ubuntu下面MySQL的参数文件my.cnf浅析
前几天刚接手一个MySQL数据,操作系统为Ubuntu 16.04.5 LTS, 数据库版本为5.7.23-0ubuntu0.16.04.1(APT方式安装的MySQL).这个操作系统下的MySQL ...
随机推荐
- XSS和CSRF
说到XSS这个问题,XSS又叫跨站请求攻击,大意是说比如我发表了一篇博客,然后我在自己博客里面插入了一段恶意的js脚本代码,这段代码用于获取当前用户的cookie,并发送到我的服务器,当你们在看到这篇 ...
- MFC编程之数值调节按钮
MFC编程之数值调节按钮 一丶数值调节按钮使用的注意事项 CSpinButtonCtrl类是MFC封装的数值调节按钮. 我们要使用数值调节按钮需要注意的事项. 1.数值调节按钮跟一个编辑框配合使用. ...
- 第3章 NFS基本应用
1.1 概述 类似ext家族.xfs格式的本地文件系统,它们都是通过单个文件名称空间(name space)来包含很多文件,并提供基本的文件管理和空间分配功能.而文件是存放在文件系统中(上述名称空间内 ...
- XtraDB/InnoDB的文件格式(已提交到MariaDB官方手册)
本文为mariadb官方手册:XtraDB/InnoDB File Format的译文. 原文:https://mariadb.com/kb/en/library/xtradbinnodb-file- ...
- iOS 快速排序
一.快速排序概念及其思想 快速排序(QuickSort),又称为交换排序,是分治算法的一种,快速排序采用分治的策略. 1.分治法的基本思想: 将原问题分解为若干个规模更小但结构和原问题相似的子问题.递 ...
- 从零开始学安全(三)●黑客常用的windows端口
端口可选1-65536 1-1024 预保留端口 留给windows系统服务的 下面是常见的端口对应的服务 1 TCP Port Service Multiplexer 传输控制协议端口服务多路开关选 ...
- ASP.NET Core中使用Graylog记录日志
以下基于.NET Core 2.1 定义GrayLog日志记录中间件: 中间件代码: public class GrayLogMiddleware { private readonly Request ...
- Element-UI 日期范围 date-picke
实际项目应用案例: <el-form-item label="开始日期:" prop="StartDate"> <el-date-picker ...
- mysql的coalesce使用技巧
今天无意间发现mysql的coalesce, coalesce()解释:返回参数中的第一个非空表达式(从左向右依次类推): 使用示例:a,b,c三个变量. ,); // Return 2 select ...
- 21.QT-QTreeWidget,QTabWidget
QTreeWidget树形列表 设置标签相关函数 void QTreeWidget::setHeaderItem (QTreeWidgetItem * item ); void QTreeWidget ...