在MySQL中怎么查看日志,简单易懂保姆级教程

目录

一、查看日志是否开启

二、开启和关闭的sql

三、查看log文件所在位置

四、修改log文件所在位置

五、日志输出类型table或file

六、修改日志输出类型

1️⃣、查看慢查询设置

2️⃣、 启用慢查询(不建议使用)

3️⃣、 设置成2秒,加上global,下次进mysql已然生效

导出日志步骤


一、查看日志是否开启

两行SQL代码查看SQL是否开启,是开启的话,获取就好。

① show variables where Variable_name = 'general_log';

② show variables like 'general_log';

二、开启和关闭的sql

关闭的话运行以下代码开启

① set global general_log=on;

② set global general_log=off;

三、查看log文件所在位置

① show variables where Variable_name='general_log_file';

② show variables like 'general_log_file';

四、修改log文件所在位置

① set global general_log_file='tmp/mysql_log.log';

五、日志输出类型table或file

② show variables like 'log_output';

六、修改日志输出类型

① set global log_output='table';

默认是FILE的方式,执行命令,修改成TABLE方式:

② set global log_output='file'; --设置为行

1️⃣、查看慢查询设置

1、show variables like "%slow%";

2️⃣、 启用慢查询(不建议使用)

1、set global slow_query_log=ON;

2、set global slow_query_log=OFF;

3️⃣、 设置成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


 

你可能感兴趣的:(数据库,mysql,sql,数据库)