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 #指定错误日志
硬盘满的时候会报如下错误:
2.普通日志
mysql> show variables like '%gener%';
3.慢查询日志
show variables like '%slow%';
4.二进制日志
第一步:使用 show binary logs; 查看日志文件
mysql> show binary logs;
如下图,之前不知道维护导致二进制文件爆了,一共525个binlog.000xxx文件,每个1G,总共超过了524G二进制日志文件。
第二步:查看正在使用的日志文件: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以外的日志文件,删除后就能释放大部分空间。