mysql日志查看

日常工作中总会查看一些sql语句到底在数据库里面是如何操作的,其实mysql会提供一些相关的功能.来实现我们对查询的跟踪工作.

第一种: 查看当前正在执行的查询

SHOW PROCESSLIST;

在mysql里面直接输入这个命令能够查看当前正在执行的查询,包括查询的一些状态,能够确定表现在的状态.  针对一些查询慢.可以先研究下这个命令分析下原因.

第二种,查看概要日志.

在mysql的shell里面  输入
show variables like '%general%';

此时会显示概要日志的状态.   有两个变量被显示出来 分别是

general_log_file

general_log

第一个变量标识概要日志的存储路径
第二个变量标识当前概要日志是否开启 .

使用命令

set @@global.general_log=1;

和命令

set @@global.general_log_file=/home/users/someone/xxx;

能够指定日志是否开启和指定日志的存储路径.

第三种,binlog

binlog是mysql提供的一种二进制日志文件,里面包含的信息比概要信息还要多.但是打印出来的格式.并不是直接可读的.
binlog平时被用来做文件备份和数据恢复等操作. 同时也是主从同步用到的.
配置binlog
在mysql里面  mysqld的配置段中  有

log-bin=mysql-bin

就是已经开启了binlog了
或者通过mysql的命令行

show variables like 'log_%';

查看是否开始了binlog  ,开启了会显示  bin_log ON

如何查看?
binlog会被数据库产出成数据文件存储在数据目录中   .通过

SHOW VARIABLES LIKE 'data_%';

查看数据文件目录 .

目录下面会有   mysql-bin.0000x这样的文件 .这就是binlog了

使用mysql给提供的工具 mysqlbinlog 来查看binlog文件 这里面的记录非常详细  .而且打开后文件会很大   .
其实可以把你关注的binlog转成可读形式  ,在使用工具来看  例如grep等.

日常工作中 .针对mysql的日志查看基本就这几种方式.

Show Comments
备案信息: 京ICP备20002019号