mysql日志形式

来源:互联网 发布:淘宝如何开通微淘 编辑:程序博客网 时间:2024/05/19 12:39

mysql日志:

      mysql> show global variables like'%log%';

1、查询日志

      记录查询操作

           文件:file

           表:table

      general_log=on|off   是否启用查询日志                    

     general_log_file=HOSTNAME.log

          默认:/var/run/mysqld/mysqld.log 

              log_output=TABLE|FILE|NONE

2、慢查询日志

      执行时长超出指定时长的查询操作;

slow_query_log+ON|OFF  是否启用慢查询日志                           |

slow_query_log_file =HOSTNAME.log

            /var/run/mysqld/mysqld-slow.log

log_slow_queries=ON|OFF     是否启用慢查询日志

log_slow_rate_limit = 1     限制查询速率

log_slow_verbosity

     

      SHOW GLOBAL VARIABLES LIKE'long_query_time';

      SELECT @@GLOBAL.long_query_time;查看单个参数的值

      SET GLOBAL long_query_time=

           mysql> show global variables like'long_query_time';

           +-----------------+-----------+

           | Variable_name   | Value    |

           +-----------------+-----------+

           | long_query_time | 10.000000 |

           +-----------------+-----------+    

           mysql> SELECT@@GLOBAL.long_query_time;

           +--------------------------+

           | @@GLOBAL.long_query_time |

           +--------------------------+

           |                10.000000 |

           +--------------------------+

           1 row in set (0.01 sec)                   

3、错误日志

      mysqld启动和关闭过程中输出的事件信息

      mysqld运行中产生的错误信息

      event scheduler运行一个event时产生的日志信息;

      在主从复制架构中的从服务器上启动从服务器线程时产生的信息;       

      log_error=/PATH/TO/LOG_ERROR_FILE

      /var/log/mysqld.log     

      log_warnings =0|1:     是否记录警告信息至错误日志文件中       

4、二进制日志

      导致数据改变或潜在导致数据改变的SQL语句;

      SHOW {BINARY | MASTER} LOGS :查看MySQL自行管理使用中的二进制日志文件列表;

      SHOW MASTER STATUS:查看使用中的二进制日志文件

    SHOW BINLOG EVENTS [IN 'log_name'] [FROMpos] [LIMIT [offset,] row_count]

      二进制日志记录格式:

           基于“语句”记录:statement

           基于“行”记录:row

           混合模式:mixed,让系统自行判断该基于哪种方式进行; 

      二进制日志文件的构成:

           两类文件:

                 日志文件:mysql-bin.文件名后缀,二进制格式

                 索引文件:mysql-bin.index 文本格式      

           服务器变量:

           sql_log_bin =OFF|ON  是否记录二进制日志

           log_bin =/PATH/TO/BIN_LOG_FILE:记录的文件位置,通常为OFF,必须为ON才能启动二进制日志记录

           binlog_format=STATEMENT|ROW|MIXED:  二进制日志记录的格式

           max_binlog_size= 1073741824   :单个二进制文件的最大体积

           注意:(1)、到达最大值会自动滚动;

(2)、文件达到上限时的大小未必为指定的精确值

           sync_binlog =0|1 设定是否启动二进制日志同步功能

mysqlbinlog:客户端命令工具:查看二进制日志文件

      mysqlbinlog [OPTION] log_file

           --start-position

           --stop-position

           --start-datetime=

           --stop-datetime=

                 YYYY-MM-DD hh:

[root@www ~]#./mysqlbinlog --start-position=328 /data/mysql/mysql-bin.000004

      二进制日志事件的格式:

# at 106

#171123  0:28:52 server id 1  end_log_pos 177   Query  thread_id=2     exec_time=0     error_code=0

SETTIMESTAMP=1511368132/*!*/;

SET@@session.pseudo_thread_id=2/*!*/;

SET@@session.foreign_key_checks=1, @@session.sql_auto_is_null=1,@@session.unique_checks=1, @@session.autocommit=1/*!*/;

SET@@session.sql_mode=0/*!*/;

SET@@session.auto_increment_increment=1, @@session.auto_incremen

/*!*/         

           事件发生的日期和时间:171123  0:28:52

           事件发生的服务器标志:server id 1

           时间的结束位置:end_log_pos 177

           事件的类型: Query

           事件发生时所在服务器执行此事件的线程的ID:thread_id=2  

           语句的时间戳与将其写入二进制文件中的时间差:exec_time=0

           错误代码:error_code=0

           事件内容:

                 SET TIMESTAMP=1511368132/*!*/;

SET @@session.pseudo_thread_id=2/*!*/;…….

           GTID:Global Transaction ID;

                 专属属性:GTID

5、中继日志

      复制架构中,从服务器用于保存从主服务器的二进制日志中读取到的事件;

 6、事务日志:transaction log

      事务型存储引擎自行管理和使用;

           | innodb_flush_log_at_trx_commit          | 1                               |

           | innodb_locks_unsafe_for_binlog          | OFF                             |

           | innodb_log_buffer_size                  | 1048576                         |

           | innodb_log_file_size                    | 5242880                         |

           | innodb_log_files_in_group               | 2                               |

           | innodb_log_group_home_dir               | ./                              |

           | innodb_mirrored_log_groups              | 1  

      redo log 事务走完提交了,重做日志,日志做完了重走一遍。

      undo log 事务走一半撤销日志,未走完日志撤销,根据撤销日志可以把修改日志还原回原来日志

     

     

原创粉丝点击