MySQL - 日志管理
在 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 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 - 日志管理的更多相关文章
- MySQL日志管理
MySQL日志管理 2013年09月26日 ⁄ MySQL ⁄ 共 14266字 ⁄ 评论数 ⁄ 被围观 , views+ 一.日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内 ...
- MySQL 日志管理详解
大纲 一.日志分类 二.日志详解 注:MySQL版本,Mysql-5.5.32(不同版本的mysql变量有所不同) 一.日志分类 错误日志 查询日志 慢查询日志 二进制日志 中继日志 事务日志 滚动日 ...
- MySQL日志管理、备份、恢复
目录: 一.MySQL 日志管理 二.数据库备份的重要性与分类 三.常见的备份方法 四.MySQL完全备份 五.数据库完全备份分类 六.MySQL增量备份 七.MySQL数据库增量恢复 八.MySQL ...
- MySQL 日志管理及备份与恢复
MySQL 日志管理及备份与恢复 1.日志管理 2.备份与恢复 1.日志管理: MySQL的默认日志保存位置为/usr/local/mysql/data 日志开启方式有两种:通过配置文件或者是通过命令 ...
- MySQL日志管理、备份与恢复
MySQL日志管理.备份与恢复 目录 MySQL日志管理.备份与恢复 一.MySQL日志管理 1. MySQL日志路径 2. 设置.修改日志路径 3. 查询日志功能是否开启 二.MySQL备份与恢复 ...
- 第八章· MySQL日志管理
一.MySQL日志简介  二.错误日志 1.作用: 记录mysql数据库的一般状态信息及报错信息,是我们对于数据库常规报错处理的常用日志. 2.默认位置: $MYSQL_HOME/data/ 3.开 ...
- Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器
参考来自: the_script :https://yq.aliyun.com/articles/675198 名山.深处:https://www.cnblogs.com/skychenjiajun/ ...
- MySQL——日志管理
一.MySQL日志类型 1.错误:--log--error ---------------------*** host_name.err 2.常规: --general_log host_name.l ...
- mysql日志管理#慢日志详解
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中 long_q ...
随机推荐
- getsockopt/setsockopt 函数说明
[ getsockopt/setsockopt系统调用] 功能描述: 获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时,选 ...
- HW6.29
public class Solution { public static void main(String[] args) { int count = 0; int[] card = new int ...
- [学姿势]实验室搬砖+node学习
这周开始进行收尾工作,我当然没有进行核心技术的开发,主要负责的是对web端进行展示上的修修补补,主要包括添加VLC播放器.rtsp视频流以及一些js细节. 1.VLC 全称为Video Lan Cli ...
- usb device selection
- A Tour of Go Map literals
Map literals are like struct literals, but the keys are required. package main import "fmt" ...
- 用UGN3503霍尔器件制作的数字指南针_电路图
本文介绍了用两个UGN3503型霍尔器件设计制作的数字指南针的设计目的.系统结构和工作原理,以及各主要器件的使用方法.本系统包括UGN3503型霍尔器件.TLC0832 A/D转换器.单片机控制.液晶 ...
- 射频识别技术漫谈(10)——识别号的格式变化【worldsing笔记】
从事RDID行业的朋友经常会遇到这样的情况,同一张ID卡,在不同厂家生产的读卡器上读出的识别号完全不一样,有时甚至差之千里.ID卡的识别号一般是在出厂时被固化在卡片的ROM里,本身是不会改变的,问题出 ...
- AdapterView及其子类之二:使用ListActivity及ArrayAdapter创建列表
见归档项目ListActivityDemo.zip. 基本步骤如下: 1.创建一个TextView,用于指定每一个ListView的格式 <?xml version="1.0" ...
- LINUX下的简单线程池
前言 任何一种设计方式的引入都会带来额外的开支,是否使用,取决于能带来多大的好处和能带来多大的坏处,好处与坏处包括程序的性能.代码的可读性.代码的可维护性.程序的开发效率等. 线程池适用场合:任务比较 ...
- eclipse创建maven模块工程
创建maven模块项目,可以使用eclipse工具来完成. 1.创建父工程,注意,要选择maven-archetype-site-simple new --> maven project 填写项 ...