zoukankan      html  css  js  c++  java
  • MySQL日志

    MySQL日志类型:

      查询日志、慢查询日志、错误日志、二进制日志、事务日志、中继日志

    1.查询日志

    /*相关配置变量*/
    general_log=ON|OFF
    general_log_file=HOSTNAME.log
    log_output=TABLE/FILE/NONE

    2.慢查询日志

      是指执行时长超出指定时长的查询操作(生产环境中建议开启)

      查看当前查询时长的服务器变量:long_query_time

    /*相关配置变量*/
    slow_query_log=ON|OFF
    slow_query_log_file=HOSTNAME-slow.log
    
    log_slow_filter  //慢查询日志过滤器
    log_slow_queries=ON|OFF  //(同第一项,不是重点)
    log_slow_rate_limit=1
    log_slow_verbosity

    3.错误日志  

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

         mysqld运行中产生的错误信息;

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

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

    /*相关配置变量*/
    log_error=/PATH/TO/SOME_LOG_FILE
    log_warning=1|0   //是否记录警告信息至错误日志文件中

    4.二进制日志

      记录导致数据改变或潜在导致数据改变的SQL语句。

      记录格式:  

        基于‘语句’记录:statement;

        基于‘行’记录:row;

        混合模式:mixed,让系统自行判断应该使用哪种方式;

      二进制日志文件:

        "重放"日志文件中的事件来生成数据副本;

        文件构成: 

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

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

      查看二进制文件的工具:

        # mysqlbinlog [OPTIONS] LOG_FILE      

          --start-position=#/--stop-position=#

          --start-datetime=YYYY-MM-DD hh:mm:ss/--stop-datetime=YYYY-MM-DD hh:mm:ss

      查看mariadb自行管理使用中的二进制日志文件列表:

        # SHOW {BINARY|MASTER} LOGS;

        # SHOW MASTER STATUS;

      查看二进制文件中事件的详细信息:

        # SHOW BINLOG EVENTS IN 'BINLOG_NAME';

    /*相关配置变量*/
    log_bin=ON|OFF  //是否开启二进制日志记录,与下面一项要都ON
    sql_log_bin=ON|OFF  //是否记录二进制日志
      注意:开启二进制日志记录必须在配置文件中才能开启,在my.cnf中[mysqld]中写入
        log-bin
        log_bin=mysql-bin
      才能使log_bin变量显示为ON,直接在mysql中修改其变量值是无法实现的。
    binlog_format=STATEMENT|ROW|MIXED //日志记录格式 max_binlog_size=1073741824 //默认为1G,单位是字节,达到最大值时,会自动滚动;未必一定到达指定值才会滚动; sync_binlog=0|1 //是否开启同步(开启会影响性能,不开会影响数据)
    /*二进制日志文件事件内容的格式*/
    /*
        事件发生的日期和时间:151105 16:34:59
        事件发生的服务器标识:server id 1
        事件的结束位置:end_log_pos 431
        事件的类型:query
        事件发生时所在服务器执行此事件的线程ID:thread_id=1
        语句的时间戳与将其写入二进制文件中的时间差:exec_time=0
        错误代码:error_code=0
        事件内容:。。。。
    
        (GTID:Global Transaction ID)在mysql5.6+和mariadb1.10+才有的专属属性
    */

    5.中继日志

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

    6.事务日志  

      事务型存储引擎自行管理和使用,不应该太大,根据实际情况计算出来的。例如:ib_logfile0

  • 相关阅读:
    软件性能测试
    我为何转来博客园
    【5】查询练习:DISTINCT、Between...and...、in、order by、count
    第5章:pandas入门【3】汇总和计算描述
    【4】建点表,填点数
    【3】数据库三大设计范式
    【2】约束
    【1】基本操作
    第5章:pandas入门【2】基本功能
    第5章:pandas入门【1】Series与DataFrame
  • 原文地址:https://www.cnblogs.com/trymybesttoimp/p/6266158.html
Copyright © 2011-2022 走看看