MySQL查看日志的方法
mysql日志查询,导出!
一、查看日志是否开启:
1、show variables where Variable_name = 'general_log';
2、show variables like 'general_log';
二、开启和关闭的sql:
1、set global general_log=on;
2、set global general_log=off;
三、查看log文件所在位置:
1、show variables where Variable_name='general_log_file';
2、show variables like 'general_log_file';
四、修改log文件所在位置:
1、set global general_log_file='tmp/mysql_log.log';
五、日志输出类型table或file:
1、show variables like 'log_output';
六、修改日志输出类型:
1、set global log_output='table';
默认是FILE的方式,执行命令,修改成TABLE方式:
2、set global log_output='file'; --设置为行
一、查看慢查询设置:
1、show variables like "%slow%";
二、 启用慢查询(不建议使用):
1、set global slow_query_log=ON;
2、set global slow_query_log=OFF;
三、 设置成2秒,加上global,下次进mysql已然生效:
1、set global long_query_time=2;
导出日志:
如果需要查询2017-09-17 07:21:09到2017-09-19 07:59:50 数据库为geeRunner 的操作日志,输入如下命令将数据写入到一个备用的txt即可
例:
mysqlbinlog --no-defaults --database=geeRunner --start-datetime="2017-09-17 07:21:09" --stop-datetime="2017-09-19 07:59:50" binlogs.000080 > sanjiaomao.txt
如果本地查询,输入命令:
mysqlbinlog --no-defaults --database=geeRunner --start-datetime="2017-09-17 07:21:09" --stop-datetime="2017-09-19 07:59:50" binlogs.000080 | more
如果取下来查询,使用winscp工具,登录到db所在机器,将数据取出来。
如果需要过滤,只查询insert,update,delete的语句,可以这样写:
mysqlbinlog --no-defaults --database=raceEnroll binlogs.000078 |grep update |more
更多推荐
所有评论(0)