MySQL日志类型:
1、查询日志(通常不会开启,也不建议开启)
2、慢查询日志(建议开启)
3、错误日志(建议开启)
4、二进制日志(建议开启)
5、中继日志
6、事务日志(帮助事务型存储引擎完成ACID测试)
mysql> SHOW GLOBAL VARIABLES LIKE '%log%'; #查看和日志相关的变量
查询日志:
general_log=ON|OFF #是否开启查询日志
general_log_file=PATH #查询日志文件路径
log_output=FILE|TABLE|NONE #输出方式,默认为FILE
慢查询日志:执行时长超出指定时长的查询操作
mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time'; #查看超时时长
服务器变量:
slow_query_log=ON|OFF #是否开启慢查询日志
log-slow-queries=PATH #慢查询日志存储路径,默为HOSTNAME-slow.log
log_output=FILE|TABLE #输出方式,默认为FILE
mysqldumpslow #慢查询日志分析工具
错误日志:
1、记录mysql启动和关闭过程中产生的事件信息
2、记录mysql运行过程中产生的错误信息
3、在主从架构中,从服务器上启动从服务器线程产生的信息
服务器变量:
log_error=OFF|ON|PATH #启动错误日志,如果不指定错误日志位置将使用默认位置
log_warnings=0|1 #是否记录警告信息
二进制日志:记录导致数据改变或者有可能导致数据发生改变的SQL语句
功能:用于实现通过"重放"日志文件中的事件来生成数据副本
mysql> SHOW MASTER LOGS; #查看可使用的二进制日志文件列表
mysql> SHOW MASTER STATUS; #查看正在使用的二进制日志文件
mysql> SHOW BINLOG EVENTS; #查看二进制日志文件内容
服务器变量:
sql_log_bin=OFF|ON #是否开启二进制日志
log_bin=OFF|ON #是否开启二进制日志,必须同时启用才能生效
binlog_format=STATEMENT|ROW|MIXED #二进制日志格式
max_binlog_size= #单个二进制文件最大大小
1、到达最大大小时自动滚动 2、重启后自动滚动
sync_binlog=0|1 #是否同步写入,默认为异步写入
1、同步写入会影响服务器性能 2、异步写入可能会造成数据丢失
二进制文件格式:
基于语句的记录:STATEMENT
优点:在相同体积下记录的数据更多
缺点:不能保证回放的数据和源数据完全相同
如:mysql> INSERT INTO test VALUE(1,now());#每一次获取的系统时间都不相同
基于行(数据)的记录:ROW
优点:能保证回放的数据和源数据基本相同
缺点:在相同体积下记录的数据更少
混合模式:MIXED,由系统判定基于那种方式进行存储
二进制文件的构成:
日志文件:mysql-bin.00000X #二进制文件
索引文件:mysql-bin.index #保存当前可用的二进制日志文件列表
二进制日志事件的格式:
mysqlbinlog #二进制文件分析工具
使用格式:mysqlbinlog [--start-position=事件开始位置] 二进制日志文件
例:mysqlbinlog mysql-bin.000003
#at 655
#170220 8:33:37 server id 1 end_log_pos 731 Query thread_id=12 exec_time=0 error_code=0
SET TIMESTAMP=1487550817/*!*/;
BEGIN
/*!*/;
事件的起始位置:at 655
事件发生的时间:170220 8:33:37
server id 1:server id,在做mysql集群时必须保证server id全局唯一
事件的结束位置:end_log_pos 731
事件的类型:Query
事件发生时所在服务器执行此事件的线程ID:thread_id=12
语句执行和将其写入二进制日志中的时间差
错误代码:error_code
中继日志:主从架构中实现主从复制的从服务日志,主要用于保存从二进制日志文件中读取事件
事务日志:
由事务型存储自行管理和使用
清理日志:
PURGE BINARY LOGS TO 'mysql-bin.010'; #清除指定日志之前的二进制日志
PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26'; #清除指定时间之前的二进制日志
文章标题:mysql基础(八)mysql日志
分享路径:
http://kswsj.cn/article/jieddd.html