Mysql日志管理

mysql二进制日志:

启用

vim /etc/my.cnf
log-bin[=dirfilename]  #默认已开启
#service mysqld restart
#如果不指定目录则在mysql安装目录的data目录下
#如果指定目录则需要为mysql用户添加目录权限

暂停(仅当前回话有效)

mysql> set sql_log_bin=0; #暂停
mysql> set sql_log_bin=1; #开启

查看mysql二进制日志

mysqlbinlog mysql-bin.000011 #查看全部
#按时间
mysqlbinlog mysql-bin.000011 --start-datetime="2016-4-20 19:44:44"
mysqlbinlog mysql-bin.000011 --stop-datetime="2016-4-20 19:44:44"
mysqlbinlog mysql-bin.000011 --start-datetime="2016-4-20 19:44:44" --stop-datetime="2016-4-20 19:44:44"
#按字节数
mysqlbinlog mysql-bin.oooo11 --start-position=260
mysqlbinlog mysql-bin.oooo11 --stop-position=260
mysqlbinlog mysql-bin.oooo11 --start-position=260 --stop-position=270

截断二进制日志

1.重启mysql服务器(不推荐)
2.mysql> flush logs;

删除二进制日志bin-log(不推荐)

mysql> reset master

启用通用查询日志

vim /etc/my.cnf
[mysqld]
log[=dirfilename]  #默认不开启
#service mysqld restart

tail -f name.log #查看日志

启用慢查询日志

vim /etc/my.cnf

[mysqld]
log-slow-queries[=dirfilename]
long_query_time=n  #查询超过n秒将会被记录进日志

service mysql restart

查看慢查询日志

#测试
mysql> select benchmark(900000000,2*3);
mysql> q

tail -f name-slow.log
原文地址:https://www.cnblogs.com/guaidaodark/p/5414142.html