1、日志简介

MySQL日志主要分为4类:

错误日志 -log-err :记录Mysql服务的启动、运行或者停止MySQL服务时出现的问题。

查询日志-log:记录建立的客户端连接和执行的语句。

二进制日志-log-bin:记录所有更改数据的语句,可以用于数据复制。

慢查询日志-log-slow-queries:记录所有执行时间超过long_query_time的所有查询或不适用索引的查询。

 

2 二进制日志

2.1 启动和设置二进制日志

查看是否启用了二进制日志:

mysql>show variables like 'log_%';

my.ini文件中[MySQLd]组进行设置:在[mysqld]组里添加语句如下(注意,要关闭MySQL服务器,查看数据库位置或者my.ini文件位置的命令mysql> show variables like '%datadir%'

image001.png

查看是否启用了二进制日志:

mysql>show variables like 'log_%';


重启管理,查看C:\ProgramData\MySQL\MySQL Server 5.7\Data中的px_bin文件。可以多次重启,观察


可以改变日志文件的目录和名称,对log-bin的参数修改如下

[mysqld]

Log-bin=”D:/mysql/log/binlog”

 

2.2 查看二进制日志

查看二进制日志文件个数及文件名

mysql> show binary logs;

 

使用MySQLbinlog 查看二进制日志

C:\>mysqlbinlog C:\ProgramData\MySQL\MySQL Server 5.7\Data\px-pc-bin.000001

 

2.3删除二进制日志

Reset master删除所有二进制日志文件

Purge master logs删除指定日志文件

mysql> show binary logs;

 

删除比px-PC-bin.000003早的所有日志文件

mysql> purge master logs to "px-PC-bin.000003";

 

查看日志文件

mysql> show binary logs;

 

删除20171010日之前的日志文件

mysql> purge master logs before ‘20171010’;

 

2.4 使用二进制日志恢复数据库

如果MySQL服务器启动了二进制日志,在数据库出现意外丢失数据时,可以使用MySQLbinlog工具从指定的时间开始知道现在,或另外一个指定的时间点的日志中恢复数据。

使用MySQLbinlog恢复MySQL数据库到20171010 15:27:48 时的状态执行命令:

C:\>Mysqlbinlog  --stop-date=”2017-10-10 15:27:48”

 

3、错误日志

3.1 启动和设置错误日志

启用和设置错误日志:

[mysqld]

Log-error=[path/[file_name]]

3.2 查看错误日志

Mysql>show variables like ‘log_error’

 

3.3 删除错误日志

MySQL的错误日志是以文本文件的形式存储在文件系统中,可以直接删除。

 

4、通用查询日志

4.1启用和设置通用查询日志:

[mysqld]

Log =[path/[file_name]]

 

4.2 查看通用查询日志

Mysql>show variables like ‘log_error’

 

4.3 删除通用查询日志

MySQL的错误日志是以文本文件的形式存储在文件系统中,可以直接删除。

 

5、慢查询日志

5.1启用和设置慢查询日志:

[mysqld]

Log-slow-queries =[path/[file_name]]

Long-query-time=n

5.2 查看通用查询日志

使用文本编辑器打开数据目录下的.log文件

 

5.3 删除通用查询日志

MySQL的错误日志是以文本文件的形式存储在文件系统中,可以直接删除。