三十而立

linux下开启mysql慢查询日志

修改mysql的配置文件my.cnf
执行 vi /etc/my.cnf

在[mysqld]里面加上以下内容

#开启慢日志
slow_query_log=TRUE          
#日志存放目录
slow_query_log_file=/home/wwwlogs/slow_query.log
#5秒记录值
long_query_time=5

如下图:
20170522152116543.jpg
然后重启 mysql /etc/init.d/mysql restart

登录mysql验证下 mysql-uroot -p

登录成功后执行 show variables like '%quer%';

看到下图就代表成功了:
2.jpg

显示出慢查询日志中最慢的10条sql

mysqldumpslow -t 10  /home/wwwlogs/slow_query.log  

附LNMP清理二进制mysql数据日志:
/usr/local/mysql/var/下面产生mysql-bin.0000* 类似的文件,而且一般都在几十MB到几个GB,会导致mysql无法启动或报错。

如何关闭MySQL的日志功能:

先删除日志:
先登录mysql:mysql -u root -p
输入密码登录成功后再执行:reset master; #注意别漏了后面的分号;
回车后会显示"Query OK, 234 rows affected (12.3 sec)",说明已经成功,再输入:quit; 退出mysql;

彻底禁用MySQL日志:
打开 vim /etc/my.cnf
找到这两行前面加上#注释掉

log-bin=mysql-bin
binlog_format=mixed

重启mysql /etc/init.d/mysql restart即可。

如果实在想保留日志,可以在/etc/my.cnf里[mysqld]部分中加入expire_logs_days = 10 #10天 然后重启mysql,这样10天就会自动清理日志。

方案参考:
https://blog.csdn.net/qq_27292113/article/details/72626722
https://www.vpser.net/manage/delete-mysql-mysql-bin-0000-logs.html

标签: linux, mysql

添加新评论