码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 日志管理

时间:2015-04-22 22:03:15      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

在 MySQL 中,有 4 种不同的日志,分别是错误日志、二进制日志、查询日志和慢查询日志。

 

错误日志

错误日志记录了 MySQL 启动和停止时以及服务器在运行过程中发生严重错误时的相关信息。

查看错误日志文件的路径

mysql> SHOW VARIABLES LIKE log_error%;
+---------------+---------------+
| Variable_name | Value         |
+---------------+---------------+
| log_error     | .\HUEY-PC.err |
+---------------+---------------+

修改错误日志文件的路径

编辑 my.ini,修改 log-error 参数:

# Error Logging.
log-error="HUEY-PC.err"

查看错误日志文件

错误文件为普通的文本文件,可直接查看。

 

二进制日志

二进制日志记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但是不包括数据查询语句。

查看 log_bin 状态

mysql> SHOW VARIABLES LIKE log_bin%;
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | OFF   |
| log_bin_basename                |       |
| log_bin_index                   |       |
| log_bin_trust_function_creators | OFF   |
| log_bin_use_v1_row_events       | OFF   |
+---------------------------------+-------+

启用二进制日志功能

 编辑 my.ini:

# Binary Logging.
log-bin="HUEY-PC-bin"

保存 my.ini 更改,重启 MySQL 服务。

查看二进制日志

使用 mysqlbinlog 工具来查看二进制日志的内容:

D:\ProgramData\MySQL\MySQL Server 5.6\data>mysqlbinlog HUEY-PC-bin.000001

清除二进制日志

清除所有日志(不存在主从复制关系):

mysql> RESET MASTER;

清除指定日志之前的所有日志:

mysql> PURGE MASTER LOGS TO HUEY-PC-bin.000005;

清除某一时间点前的所有日志:

mysql> PURGE MASTER LOGS BEFORE 2015-01-01 00:00:00;

清除 n 天前的所有日志:

mysql> PURGE MASTER LOGS BEFORE CURRENT_DATE - INTERVAL 10 DAY;

expire_logs_days 参数

在 my.ini 中配置 expire_logs_days 参数指定二进制日志的有效天数,MySQL 会自动删除过期的二进制日志。expire_logs_days 设置在服务器启动或者 MySQL 切换二进制日志时生效,因此,如果二进制日志没有增长和切换,服务器不会清除老条目。

# 二进制日志的有效天数
expire_logs_days = 5

 

查询日志

默认情况下查询日志是关闭的。查询日志记录了客户端的所有操作,而二进制日志不记录只查询数据的语句。在并发环境易产生大量日志信息而导致大量磁盘 I/O,影响 MySQL 的性能,通常情况下不建议启用查询日志。

查看查询日志是否启用及查询日志的路径

mysql> SHOW VARIABLES LIKE general_log%;
+------------------+-------------+
| Variable_name    | Value       |
+------------------+-------------+
| general_log      | ON          |
| general_log_file | HUEY-PC.log |
+------------------+-------------+

启用查询日志和设置查询日志的路径

编辑 my.ini,修改 general-log 参数为 1,同时设定 log-output 参数(日志输出类型)和 general_log_file 参数(查询日志路径):

# General logging.:
log-output=FILE
general-log=1
general_log_file="HUEY-PC.log"

保存 my.ini 更改,重启 MySQL 服务。

关闭查询日志

编辑 my.ini,设置 general-log 参数为 0:

# General logging.
log-output=NONE
general-log=0
general_log_file="HUEY-PC.log"

保存 my.ini 更改,重启 MySQL 服务。

 

慢查询日志

慢查询日志记录了所有执行时间超过 long_query_time 秒的 SQL 语句。

查看慢查询日志是否启用及慢查询日志的路径

mysql> SHOW VARIABLES LIKE slow_query_log%;
+---------------------+------------------+
| Variable_name       | Value            |
+---------------------+------------------+
| slow_query_log      | OFF              |
| slow_query_log_file | HUEY-PC-slow.log |
+---------------------+------------------+

启用慢查询日志和设置慢查询日志的路径

编辑 my.ini,设置 slow-query-log 参数为 1,同时设定 log-output 参数(日志输出类型)、slow-query-log_file 参数(慢查询日志路径)和 long_query_time 参数:

# Slow logging.
log-output=FILE
slow-query-log=1
slow_query_log_file="HUEY-PC-slow.log"
long_query_time=10

保存 my.ini 更改,重启 MySQL 服务。

关闭慢查询日志

编辑 my.ini,设置 slow-query-log 参数为 0:

# Slow logging.
log-output=NONE
slow-query-log=0
slow_query_log_file="HUEY-PC-slow.log"
long_query_time=10

 

MySQL 日志管理

标签:

原文地址:http://www.cnblogs.com/huey/p/4447821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!