天天看点

mysql 常见日志类型

mysql常见的日志类型有5种:

错误日志、二进制日志、查询日志、慢查日志、中继日志

1.错误日志:

错误日志包含4类信息:

(1).服务器启动和关闭进程过程中的信息;

(2).服务器运行过程中的错误信息;

(3).事件调度器运行一个事件时产生的信息;

(4).在从服务器上启动从服务器进程时产生的信息。

在mysql中如何查看错误日志的存放路径呢?

首先进入mysql

# mysql -uroot -p123456

mysql> SHOW VARIABLES LIKE '%err%';

那警告信息是否也写在了错误日志呢?

首先先查看一下警告信息的状态:

mysql> SHOW VARIABLES LIKE 'log%';

如果结果中是“log_warnings“的值为1的话,则说明把警告信息也写到了错

误日志中;否则为0,则没写到错误日志中。

2.二进制日志

二进制日志有两种功能:

(1).做即时点恢复(基于时间点恢复的)

(2).复制(将主服务器发生的任何改变复制到从服务器上,保证数据一致)

二进制日志存储的信息是每一个明确或潜在的有可能使数据库中的数据发生改

变的SQL语句。

那怎么查看是否开启了二进制日志呢?使用下面的命令:

mysql> SHOW VARIABLES LIKE '%bin%';

如果结果中“log_bin”的值为“ON”的话,则开启了二进制日志;为“OFF”

则没有开启二进制日志。

那要查看都有哪些二进制日志怎么查看呢?

mysql> SHOW BINARY LOGS;

说明:由于二进制日志文件不是单独的一个,而是多个,所以此时你看到的结

果可能不止一个。要想看当前数据库正在使用的二进制日志文件是哪一个,用

下面的命令:

mysql> SHOW MASTER STATUS;

二进制日志有三种格式:

(1).基于语句的   记录的是SQL语句

(2).基于行的     记录的是SQL语句执行的结果

(3).混合的

mysql> SHOW BINLOG EVENTS IN 'binlog_name' FROM 107; 查看二进制日志

从某个位置发生改变的情况

说明:由于二进制日志的文件不是文本文件,所以一般的查看命令并不能查看

二进制日志文件内容,要想查看二进制日志文件内容,就需要一个特殊的命令

:mysqlbinlog

# mysqlbinlog  专门查看二进制日志文件的内容

          --start-position   起始位置

   --stop-position    结束位置

   --start-datetime   起始时间

   --stop-datetime    结束时间

例:# mysqlbinlog --start-position=‘107’ mysql-bin.00002

例:# mysqlbinlog --start-position=‘107’ --stop-position=‘381’

mysql-bin.00002

例:# mysqlbinlog --start-datetime=‘2012-04-08 10:00:00’ --stop-

datetime=‘2012-04-08 20:00:01’ mysql-bin.00002

3.查询日志

查看查询日志状态的:

mysql> SHOW VARIABLES LIKE 'general_log';

如果结果中的“general_log”的值为“ON“,则是开启了查询日志;如果为

”OFF“,则没有开启查询日志

指定查询日志的路径:只要在general_log_file=  后面写上路径即可。

4.慢查日志

查看慢查日志状态看状态是否开启

mysql> SHOW VARIABLES LIKE 'SLOW%';

如果"slow_query_log"的值为”ON“,则说明开启了慢查询日志;如果

为”OFF“,则是 没有开启慢查询日志

说明:其中查询日志和慢查日志都可记录到表里或文件里,也可以二者都有记

5.中继日志

要是在mysql服务器的中从架构中的从服务器上用到的,当从服务器想要和主

服务器进行数据的同步时,从服务器将主服务器的二进制日志文件拷贝到己的

主机上放在中继日志中,然后调用SQL线程按照拷中继日志文件中的二进制日

继续阅读