mysql日志知识点
MySQL的日志系统是确保数据完整性、性能监控、错误排查及数据恢复的重要组成部分。
以下是几个核心日志类型的概览:
1、二进制日志
记录所有更改数据的语句,可以用于数据复制和恢复。
1.1、启动和设置二进制日志
修改MySQL的配置文件my.ini(my.conf):
[mysqld]
log-bin [=path/[filename]]
exprie_logs_days = 10
max_binlog_size = 100M
log-bin:定义开启二进制日志
path:表面日志文件所在的目录文件。
filename:指定了日志文件名称。
exprie_logs_days:定义了MySQL清除过期日志的时间,即二进制自动删除的天数。
max_binlog_size:定义了单个文件的大小限制,不能大于1GB小于4096字节。
1.2、查看二进制日志
查看二进制日志文件个数及文件名称
SHOW BINARY LOGS;
使用mysqlbinlog,查看日志
mysqlbinlog 'xxx/filename.log;
1.3、删除二进制日志
1.3.1、使用RESET MASTER语句删除所有的二进制日志文件
RESET MASTER;
1.3.2、使用PURGE MASTER LOGS语句删除指定文件
1.3.2.1、指定文件名,删除文件名编号比指定文件名编号小的所有日志文件。
PURGE {MASTER|BINARY} LOGS TO 'log_name'
1.3.2.2、指定日期,删除指定日期以前的所有日志文件。(日期格式:20190710)
PURGE {MASTER|BINARY} LOGS BEFORE 'date'
1.4、使用二进制日志还原数据库
格式:
mysqlbinlog [option] filename|mysql -uuser -ppass
option选项:
–start-date、–stop-date:可以指定恢复数据库的起始时间点和结束时间点。
–start-position、–stop-position:可以指定恢复数据的开始位置和结束位置。
1.5、暂停停止二进制日志功能
语法:
SET sql_log_bin={0|1}
0:暂停 1:恢复
2、错误日志
记录MySQL服务启动、运行或停止MySQL服务时出现的问题
2.1、启动和设置错误日志
[mysqld]
log-error [=path/[filename]]
2.2、查看错误日志
SHOW VARIABLES LIKE 'log_error';
2.3、删除错误日志
错误日志是以文本文件的方式存储的,所以可以直接删除。
删除以后如果需要重建日志文件则需要执行以下命令:
服务端:mysqladmin -u root -p flush-logs
客户端:flush logs;
3、通用查询日志
记录建立的客户端连接和执行的语句
3.1、启动和设置通用查询日志
[mysqld]
log [=path/[filename]]
3.2、查看通用查询日志
通用查询日志是以文本文件的方式存储的,所以可以直接找到文件以文本方式打开即可。
3.3、删除通用查询日志
通用查询日志是以文本文件的方式存储的,所以可以直接删除。
删除以后如果需要重建日志文件则需要执行以下命令:
mysqladmin -u root -p flush-logs
4、慢查询日志
慢查询日志是记录查询时间超过指定时间的日志。
4.1、启动和设置慢查询日志
[mysqld]
log-show-queries [=path/[filename]]
long_query_time=n (n:是时间值,单位秒。默认时间为10秒)
4.2、查看慢查询日志
慢查询日志是以文本文件的方式存储的,所以可以直接找到文件以文本方式打开即可。
4.3、删除慢查询日志
慢查询日志是以文本文件的方式存储的,所以可以直接删除。
删除以后如果需要重建日志文件则需要执行以下命令:
mysqladmin -u root -p flush-logs