MySQL日志

MySQL日志

MySQL包含四种日志:
1.错误日志
2.二进制日志
3.查询日志
4.慢查询日志

一、错误日志

错误日志是MySQL最重要的日志之一,主要记录MySQL启动、运行、停止过程中发生的错误相关信息。

错误日志默认开启,默认存放目录(linux):/var/log/,默认的日志文件名为mysqld.log。查看错误日志位置:SHOW VARIABLES LIKE ‘%LOG_ERROR%’;
若查询结果为:stderr,则代表错误日志默认输出到命令行,而不是保存到日志文件,需要手动开启:
① 找到 MySQL 的配置文件 my.cnf,通常位于 /etc/mysql/ 目录下。如果没有该文件,可以查找并编辑 my.cnf 的其他可能位置,如 /etc/my.cnf、$MYSQL_HOME/my.cnf 等,也可以创建一个新的 my.cnf 文件。
② 在 my.cnf 文件中,添加或修改以下配置项:

log-error=/path/to/error.log

/path/to/error.log 是你指定的错误日志文件的完整路径。

二、二进制日志

MySQL 的二进制日志(Binary Log)是一个重要的功能,主要用于记录所有更改数据库的操作(DDL语句和DML语句),但不包含数据查询操作(select、show)。

二进制日志的作用:
① 灾难时数据恢复;
② 主从复制;
③ 数据审计;
可以用以下SQL语句查看二进制日志相关数据:

SHOW VARIABLES LIKE ‘%log_bin%’;

在这里插入图片描述
MySQL包含三种二进制日志格式:
在这里插入图片描述
可以通过以下SQL语句查询当前使用的日志格式:

SHOW VARIABLES LIKE “%binlog_format%”;

在这里插入图片描述
二进制日志是不能够直接查阅的,需要通过sql指令进行查阅:

mysqlbinlog [ 参数选项 ] logfilename;

在这里插入图片描述
在这里插入图片描述
也可以通过设置二进制的过期时间让MySQL自动删除日志(默认30天):

SHOW VARIABLES LOKE ‘%binlog_expire_logs_seconds%’;

三、查询日志

MySQL 的查询日志(Query Log)用于记录所有执行的 SQL 语句(包括查询)。默认情况下,查询日志不开启,需要手动开启。

SHOW VARIABLES LIKE ‘%general%’;

在这里插入图片描述
开启查询日志在MySQL配置文件/etc/my.cnf中添加如下内容:

general_log = 1
general_log_file = /path/to/your/mysql_query.log

general_log: 设置为 1 启用查询日志。
general_log_file: 指定日志文件的路径以及文件名。

四、慢查询日志

慢查询日志是 MySQL 用于记录执行时间超过指定阈值long_query_time的 SQL 查询以及扫描记录数不小于min_examined_row+limit的所有SQL语句。慢查询日志默认未开启,long_query_time默认为10秒,最小为0,精度可以到微秒。

slow_query_log = 1
slow_query_log_file = /path/to/your/mysql_slow_query.log
long_query_time = 2 # 设置阈值,单位为秒
log_slow_admin_statements=1 # 记录执行较慢的管理语句
log_queries_not_using_indexes=1 # 记录执行较慢的未使用索引的语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值