MySQL的日志

概述

概念:在任何一种数据库中,都会有各种各样的日志,记录这数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生的各种事件。MySQL也不例外

日志分类

  • 错误日志
  • 二进制日志
  • 查询日志
  • 慢查询日志

错误日志

概念:错误日志是MySQL中最重要的日志之一,它记录了当myslqid启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。

该日志是默认开启的,默认存放目录为MySQL的数据目录,默认的日志文件名为hostname.err(hostname是主机名)。

查看日志位置命令

SHOW VARIABLES LIKE'log_error%';

二进制日志 - binlog

二级制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但是不包括数据查询语句。此日志对于灾难时的数据恢复骑着极其重要的作用,MySQL的主从复制,就是通过该binlog实现的。

二级制日志,MySQL8.0默认开启,低版本的MySQL需要通过配置文件开启,并配置MySQL日志的格式。

-配置开启binlog日志,日志的文件前缀为mysqlbin
log_bin = mysqlbin
-配置二进制日志的格式
binlog_format=STATEMENT

例如:

-- 查看MySQL是否开启了binlog日志
SHOW VARIABLES LIKE 'log_bin';

-- 查看binlog日志的格式
SHOW VARIABLES LIKE 'binglog_format';

-- 查看所有日志
SHOW BINLOG EVENTS;

-- 查看最新的日志
SHOW MASTER STATUS;

-- 查询指定的binlog日志
SHOW BINLOG EVENTS IN 'binlog.000010';

-- 从指定位置开始,查看指定的binlog日志
SHOW BINLOG EVENTS IN 'binlog.000010' FROM 156;

-- 从指定的位置开始,查看指定的binlog日志,限制查询的条数
SHOW BINLOG EVENTS IN 'binlog.000010' FROM 156 LIMIT 2;

-- 清空所有的binlog日志
RESET MASTER;

查询日志

查询日志中记录了客户的的所有操作语句,而二进制日志不包含查询数据的SQL语句。
默认情况下,查询日志是未开启的。如果需要开启查询日志,可以设置

-该选项用来开启查询日志,可选值:010代表关闭,1代表开启
general_log=1
-设置日志的文件名,如果没有指定,默认的文件名为host_name.log
general_log_file = file_name

例如:

-- 查看MySQL是否开启了查询日志
SHOW VARIABLES LIKE 'general_log';

-- 开启查询日志(这里是一个临时的,如果需要还需要在my.ini里更改)
SET GLOBAL general_log=1;

SELECT * FROM mydb1.emp2;
SELECT * FROM mydb4_view.emp;

SELECT COUNT(*) FROM mydb1.emp2;
SELECT COUNT(*) FROM mydb4_view.emp;
UPDATE mydb1.emp2 SET salary = 9000;


慢查询日志

慢查询日志记录了所有执行时间超过参数LONG_QUERTY_TIME设置值并扫描记录数不小于min_examined_row_limit的所有的SQL语句的日志。long_query_time默认为10秒,最小为0,精度可以到微秒。


-该参数用来控制慢查询日志是否开启,可取值:10,1代表开启,0代表关闭
slow_query_log=1
-该参数用来指定慢查询日志的文件名
slow_query_log_file=slow_query.log
-该选项用来配置查询的时间限制,超过这个时间将认为值慢查询,将需要进行日志记录,默认10s
long_query_time=10

例如:

-- 查看慢查询日志是否开启
SHOW VARIABLES LIKE 'slow_query_log%';

-- 开启慢查询日志
SET GLOBAL slow_query_log=1;

-- 查看慢查询的超时时间
SHOW VARIABLES LIKE 'long_query_time%';

SELECT SLEEP(12);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火眼猊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值