查询所有的日志开启、关闭、输出位置等状态的SQL
mysql> SHOW GLOBAL VARIABLES LIKE '%log%';
1.查询日志:记录查询操作;
保存方式:文件(file)或 表(table)
general_log=ON|OFF
general_log_file=$HOSTNAME.log
log_output=TABLE|FILE|NONE
2.慢查询日志: 执行时长超出指定时长的查询操作;
mysql> show global variables like 'long_query_time'; (查看当前SQL语句时长,默认10秒)
mysql> set global long_query_time=“时长”
slow_query_log=ON|OFF (关于是否开启慢查询日志)
3.错误日志:(注意,不全是错误的信息)
mysqld 启动和关闭过程中输出的事件信息;
mysqld运行中产生的错误信息;
event scheduler运行一个enent时产生的日志信息;
在主从复制架构中的从服务器上启动从服务器线程时产生的信息;
log_error=/PATH/TO/LOG_ERROR_FILE
log_warnings=1|0:是否记录警告信息至错误日志中
4.二进制日志:记录导致数据改变或潜在导致数据改变的SQL语句
mysql> show binary logs; (记录所有当前的二进制日志文件列表)
mysql>show master status; (当前正在使用哪个二进制日志,以及下一个操作从哪个Position开始)
mysql> show binlog events in 'mysql-bin.000003'; (可以看到操作过的SQL语句)
日志文件名 起始位置 时间类型 唯一标识 结束位置 事件本身是什么
服务器变量:
sql_log_bin=ON|OFF 定义是否记录二进制日志;
log_bin=/PATH/TO/BIN_LOG_FILE 记录的文件位置,通常为OFF;
binlog_format=STATEMENT|ROW|MIXED 二进制日志记录的格式
max_binlog_size=1073741824 单个二进制日志文件的最大体积(默认为1G);到达最大值以后会自动滚动;文件达到上限的大小未必一定到精确值