mysql日志
1.错误日志
错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过
程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日
志。
show variables like "log_error";
2.二进制日志
二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但
不包括数据查询(SELECT、SHOW)语句。
作用:①. 灾难时的数据恢复;②. MySQL的主从复制。在MySQL8版本中,默认二进制日志是开启着的
show variables like "%log_bin%";
参数说明:
log_bin_basename:当前数据库服务器的binlog日志的基础名称(前缀),具体的binlog文
件名需要再该basename的基础上加上编号(编号从000001开始)。
log_bin_index:binlog的索引文件,里面记录了当前服务器关联的binlog文件有哪些。
查看二进制日志:
mysqlbinlog [ 参数选项 ] logfilename
参数选项:
-d 指定数据库名称,只列出指定的数据库相关操作。
-o 忽略掉日志中的前n行命令。
-v 将行事件(数据变更)重构为SQL语句
-vv 将行事件(数据变更)重构为SQL语句,并输出注释信息
删除二进制日志:
reset master
删除全部 binlog 日志,删除之后,日志编号,将从 binlog.000001重新开始
purge master logs to 'binlog.*'
删除 * 编号之前的所有日志
purge master logs before 'yyyy-mm-dd hh24:mi:ss'
删除日志为 "yyyy-mm-dd hh24:mi:ss" 之前产生的所有日志
设置二进制日志过期时间:
show variables like '%binlog_expire_logs_seconds%';
3.查询日志
show variables like "general_log"; 查询日志的状态(默认关闭)
show variables like "general_log_file"; 查询日志的文件位置
4.慢查询日志
#慢查询日志
slow_query_log=1
#执行时间参数
long_query_time=2
5.使用
# 查询日志的位置
show variables like "general_log_file";
# 查看日志内容
cat /var/lib/mysql/ee0f865cbda0.log
# 实时查看日志内容
tail -f /var/lib/mysql/ee0f865cbda0.log