MySQL之日志
错误日志
错误日志记录了MySQL启动和停止时,服务器运行过程发生的错误相关信息;该日志默认开启。
查看日志位置,一般位于/var/log
下
1 | show variables like '%log_error%' |
二进制日志
BINLOG,记录了所有DDL和DML
作用:
- 灾难时的数据恢复
- MySQL的主从复制
MySQL8中二级制日志默认开启
查看日志位置:
1 | show variables like '%log_bin%' |
日志格式:
- STATEMENT
- 基于SQL语句的记录
- ROW
- 基于行的日志记录,记录每行的数据变更
- MIXED
- 混合STATEMENT和ROW
查看格式:
1 | show variables like '%binlog_format%'; |
可在MySQL配置文件使用binlog_format=xxx
指定日志格式
查看binlog需要使用mysqlbinlog
来查看,具体语法:
1 | mysqlbinlog [-arguments] logfile |
清理日志:
restart master
删除所有binlogpurge master logs to 'binlog.****'
删除***编号之前的所有日志purge master logs before 'yyyy-mm-dd hh:mi:ss'
删除指定时间之前产生的日志
查询日志
记录客户端所有的操作语句
查看日志参数:
1 | show variables like '%general%' |
在MySQL配置文件指定general_log=1
开启查询日志,general_log_file=xxx
指定日志路径
慢查询日志
记录了所有执行时间超过参数long_query_time并扫描记录不小于min_examined_row_limit的所有SQL语句日志
在MySQL配置文件指定slow_query_log=1
开启日志,long_query_time=xxx
指定执行时间
默认不会记录管理语句,也不会记录不使用所有进行查找的查询,在MySQL配置文件指定log_slow_admin_statements
开启日志,log_queries_not_using_indexes
指定执行时间
查看日志位置:
1 | SHOW VARIABLES LIKE '%slow_query_log%'; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 多巴胺の小窝!
评论