最近在做项目的sql优化,开启测试服务器的慢查询日志,发现mysql测试服务器没有配置my.cnf,所以配置了一下/etc/my.cnf(mysql默认去/etc/下去找配置文件,如果没有这个文件,则会使用默认配置启动Mysql,没有这个文件的小伙伴可以自己创建一个,添加自己的配置信息),配置信息如下:
log_slow_queries=/usr/local/mysql/logs/slow_queries.log
long_query_time = 2
然后重启mysql服务,发现一直启动失败。报错信息:
ERROR! The server quit without updating PID file (/usr/local/mysql/data/qyc.lan.pid)
查看错误日志:
[ERROR] unknown variable 'log_slow_queries=/usr/local/mysql/logs/slow_queries.log'
一看就反应过来肯定是配置参数改了!马上去mysql官网查看,果然找到关键信息:
意思是:如果你配置了慢查询,默认会在data目录下创建一个.log文件记入,为了使慢查询生效,要设置slow_query_log=1,设置slow_query_log_file指定日志路劲。
果然参数改了,然后更改配置信息:
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/logs/slow_query.log(记住要创建下该文件,不然mysql_safe会警告,创建后记得分配下mysql组权限)
到此重启mysql服务,成功启动。可以愉快的优化sql去了,完成项目的sql优化会再写一份心得和大家分享。