Mysql日志清理

作者:动易软件 来源:网络 点击数: 发布时间:2022年10月28日

一. 定义

四种日志:

1.错误日志(error_log)

错误日志记录着mysqld启动和停止,以及服务器在运行过程中发生的错误的相关信息。(数据库报错时可以查看)

2.普通日志(general_log)

服务器接收到的每一个查询或是命令,无论这些查询或是命令是否正确甚至是否包含语法错误,general log 都会将其记录下来。(Mysql默认关闭,因为开销太大)

3.慢查询日志(slow_query_log)

慢日志记录执行时间过长和没有使用索引的查询语句,报错select、update、delete以及insert语句,慢日志只会记录执行成功的语句。

4.二进制日志(binary_log)

二进制日志记录了所有的DDL(数据定义语言)语句和DML(数据操作语言)语句,但是不记录包括数据查询的语句。(开销也很大,需要维护,可用于数据库恢复)


二. 相关设置及文件位置

1.错误日志

linux系统中在my.cnf文件中设置。

[mysqld]log_error=/home/qinbo/tool/mysql/error.log            #指定错误日志

硬盘满的时候会报如下错误:

f9e88e26edd24f11b631492ed1c29059.png

2.普通日志

mysql> show variables like '%gener%';

29021d3f094c486eb1467d543af0225e.png

3.慢查询日志

show variables like '%slow%';

b20d1087eceb4e91bf763687dbe3c01d.png

4.二进制日志

第一步:使用 show binary logs; 查看日志文件

mysql> show binary logs;

如下图,之前不知道维护导致二进制文件爆了,一共525个binlog.000xxx文件,每个1G,总共超过了524G二进制日志文件。

7fa1d68ba12346388580e875ac6ff6e4.png

第二步:查看正在使用的日志文件:show master status;

mysql> show master status;

当前正在使用的日志文件是binlog.000525,那么删除日志文件的时候应该排除掉该文件。

删除日志文件的命令:purge binary logs to ‘binlog.000525’;

mysql> purge binary logs to 'binlog.000005';

删除除mysql-bin.000005以外的日志文件,删除后就能释放大部分空间。