【MySQL】日志

目录

15.1  日志简介

15.2  二进制日志,记录数据库的变化。

15.2.1  启动和设置二进制日志

15.2.2  查看二进制日志

15.2.3  删除二进制日志

15.2.4  使用二进制日志还原数据库

15.2.5  暂时停止二进制日志功能

15.3  错误日志

15.3.1  启动和设置错误日志

15.3.2  查看错误日志

15.3.3  删除错误日志

15.4  通用查询日志

15.4.1  启动和设置通用查询日志

15.4.2  查看通用查询日志

15.4.3  删除通用查询日志

15.5  慢查询日志

15.5.1  启动和设置慢查询日志

15.5.2  查看慢查询日志

 15.5.3  删除慢查询日志


15.1  日志简介

MySQL日志主要分为4类

● 错误日志,记录MySQL服务的启动、运行或停止MySQL服务时出现的问题。

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

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

● 慢查询日志,记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

查询频繁的数据开开启慢查询和通用查询日志,会花费很多时间记录日志,降低数据库的性能和磁盘空间。

 

15.2  二进制日志,记录数据库的变化。

15.2.1  启动和设置二进制日志

默认情况下,二进制日志是关闭的。可以通过修改MySQL的配置文件来启动和设置二进制日志。my.ini中[mysqld]组下面有几个设置是关于二进制日志的:

[mysqld]

       log-bin [=path/ [filename] ]

       expire_logs_days = 10 定期清除过期日志的时间,自动删除的天数。

       max_binlog_size = 100M

启动后show variables查询日志设置

 

15.2.2  查看二进制日志

show binary logs语句可以查看当前的二进制日志文件个数及其文件名。

MySQL二进制日志并不能直接查看,如果要查看日志内容,可以通过mysql bin log命令查看。

 

15.2.3  删除二进制日志

1.使用RESET MASTER语句删除所有二进制日志。

2.使用PURGE MASTER LOGS语句删除指定的日志文件。

Purge { master | binary } logs to ‘log_name’ 删除比指定编号小的所有日志;

Purge { master | binary } logs before ‘date’ 删除指定日期之前的日志。

 

15.2.4  使用二进制日志还原数据库

如果MySQL服务器启用了二进制日志,在数据库出现意外丢失数据时,可以使用mysqlbinlog工具从指定的时间点开始(例如,最后一次备份)直到现在或另一个指定的时间点的日志中恢复的数据。

Mysqlbinlog [--start-date/--stop-date | --start-position/--stop-position ] log_filename | mysql -uuser =ppass

15.2.5  暂时停止二进制日志功能

通过SET SQL_LOG_BIN语句可以使用MySQL暂停或者启动二进制日志。

暂停二进制日志:SET sql_log_bin = 0;

恢复二进制日志 : SET sql_log_bin = 1;

 

15.3  错误日志

15.3.1  启动和设置错误日志

在默认情况下,错误日志会记录到数据库的数据目录下。如果没有在配置文件中指定文件名,则文件名默认为hostname.err。

[mysqld]

       log-error=[path / [file_name] ]

配置好则可以重启启动。

15.3.2  查看错误日志

通过错误日志可以监视系统的运行状态,便于及时发现故障和修复故障。MySQL错误日志是以文本文件形式存储的,可以使用文本编辑器直接查看MySQL错误日志。可以在mysql.ini配置文件修改位置和名字。

SHOW VARIABLES LIKE 'log_error';

 

15.3.3  删除错误日志

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

mysqladmin -u root -p flush-logs

 

15.4  通用查询日志

15.4.1  启动和设置通用查询日志

打开通用查询日志,在my.ini(或my.cnf)的[mysqld]组下加入log选项。

[mysqld]

      log[=path / [filename]]

 

15.4.2  查看通用查询日志

通用查询日志是以文本文件的形式存储在文件系统中的。可以使用文本编辑器直接打开通用日志文件进行查看,Windows下可以使用记事本,Linux下可以使用vim和gedit等。

 

15.4.3  删除通用查询日志

可以用直接删除日志文件的方式删除通用查询日志。

重新建立新的通用查询日志文件:

mysqladmin –u root –p flush-logs或者客户端flush logs;

15.5  慢查询日志

15.5.1  启动和设置慢查询日志

MySQL中慢查询日志默认是关闭的,可以通过配置文件my.ini或者my.cnf中的log-slow-queries选项打开,也可以在MySQL服务启动的时候使用--log-slow-queries[=file_name]启动慢查询日志。

[mysqld]

       log-slow-queries[=path / [filename] ]

 

15.5.2  查看慢查询日志

MySQL的慢查询日志是以文本形式存储的,可以直接使用文本编辑器查看。

 15.5.3  删除慢查询日志

慢查询日志也可以直接删除。删除后在不重启服务器的情况下。

重新生成慢查询日志文件:

mysqladmin –u root –p flush-logs

flush logs

猜你喜欢

转载自blog.csdn.net/dreamengsoul/article/details/83111329
今日推荐