4.1mysql日志系统--课程笔记

来源:互联网 发布:蓝月传奇翅膀数据 编辑:程序博客网 时间:2024/05/11 08:37

日志的分类:

服务器日志

    记录进程启动运行过程中的特殊事件,帮助分析MySQL服务遇到的问题

    根据需求抓取特定的sql语句,跟踪性能可能存在的问题的业务sql 

     --服务错误日志

     --慢查询日志

     --综合查询日志

事务日志

    记录应用程序对数据的所有更改

    可用于数据恢复

    可用于实例间数据同步

    --存储引擎事务日志

    --二进制日志



1. 服务错误日志

    记录实例启动运行过程中重要信息

    配置参数: log_error = /data/MySQL_data/node-1/myqld.log

   内容并非全是错误信息

   如果msyql进程无法正常启动首先查看错误日志


2. 慢查询日志

 记录执行时间超过一定阈值的sql语句

 配置参数

  slow_query_log=1

  slow_query_log_file=/data/mysql_data/node-1/MySQL-show.log

  long_query_time=5

 用于分析系统中可能存在性能问题的sql


3.综合查询日志

  如果开启将会记录系统中所有sql语句

  配置参数

   general_log=1

   general_log_file=/data/mysql_data/node-1/mysql-gen.log

 偶尔用于帮助分析系统问题,对性能有影响


*查询日志的输出与文件切换

日志输出参数

  log_output={file|table|none}

如果日志文件过大,可以定期截断并切换新文件

  flush logs;


4. 存储引擎事务日志

  部分存储引擎拥有重做日志(redo log)

  如InnoDB,TokuDB等WAL(Write Ahead Log)机制存储引擎

  日志随着事务commit优先持久化,确保异常恢复不丢数据

  日志顺序写性能较好


所以应该把redo log设的大一些


二进制日志binlog

binlog(binary log)

记录数据引起数据变化的sql语句或数据逻辑变化的内容

mysql服务层记录,无关存储引擎

binlog的主要作用:

   基于备份恢复数据

   数据库主从同步

   挖掘分析sql语句


开启binlog

   主要参数

     log_bin=c:/tmp/mylog/mysql-bin

    sql_log_bin=1

    sync_binlog=1

查看binlog文件

show binary logs;


binlog管理

 max_binlog_size=100MB

 expire_logs_days=7

 binlog始终生成新文件,不会重用

手工清理binlog

purge binary logs to'mysql-bin.000009';

purge binary logs before '2015-06-01 22:46:26';


查看binlog内容

  日志(log)

  show binlog events in 'MySQL-bin.000011';

  show binlog events in 'MySQL-bin.000011' from 60 limit 3;


mysqlbinlog工具

mysqlbinlog c:/tmp/mylog/mysql-bin.0000001

--start-datetime|--stop-datetime

--start-position--stop-position


binlog格式

binlog_format = {row|statement|mixed}

查看row模式的binlog内容


















1 0