最近,遇到一个奇怪的问题,mysql使用--defaults-file指定my.cnf启动数据库,结果每次启动都报错 log_timestamps
参数无效。报错如图:
由上图可知:
1、mysql启动确实使用--defaults-file指定了特定的my.cnf
2、启动确实报错log_timestamps参数无法识别
为了排除该参数导致无法启动mysql实例,我将该参数从my.cnf中删除,想不到的是启动mysql依然报错。到此,
我想mysql启动实质上使用的my.cnf不是--defaults-file指定的。于是,我检查了下/etc/my.cnf,果然,/etc下有
个my.cnf,
l
og_timestamps配置在【mysqld】下,字符出了问题,引用了中文的方括号。同时,也提示我们:
mysql实例启动读取my.cnf是有顺序的:
mysql索引my.cnf文件的顺序
[root@centos7mysql ~]# mysql --help | grep .cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
[root@centos7mysql ~]#
因为,我们指定了mysql实例启动使用的my.cnf,我将/etc下的my.cnf删除掉,然后再次使用--defaults-file
启动mysql能够顺利启动。