• Logs


    MySQL Logs:

    查询日志:query log
    慢查询日志:slow query log
    错误日志: error log
    二进制日志:binary log; 
    中继日志:reley log
    事务日志:transaction log

    1、查询日志:general log 

      记录mysql操作相关的日志;

    查询日志可以记录在:

    文件:file
    表:table

    查询日志相关的变量:

    SHOW GLOBAL VARIABLES LIKE '%log%';
      general_log=ON|OFF  //默认为off
      general_log_file=HOSTNAME.log
      log_output=TABLE|FILE|NONE

    示例:日志输出位 文件

    # vim /etc/my.cnf
    [mysqld]
    general_log = on
    general_log_file = HOSTNAME.log
    log_output = file

    示例:日志输出为 table

    # vim /etc/my.cnf
    [mysqld] general_log
    = on log_output = table

    mariadb> use mysql;
    mariadb> select * from general_log

    2、慢查询日志
      执行时长超出指定时长的查询操作;

    查询指定时长:

    mariadb> SHOW GLOBAL VARIABLES LIKE 'long_query_time';

    +-----------------+-----------+
    | Variable_name | Value |
    +-----------------+-----------+
    | long_query_time | 10.000000 |
    +-----------------+-----------+

    或者用下面的语句进行查询:
    SELECT @@GLOBAL.long_query_time;

    可以对指定时长进行设置:

    SET GLOBAL long_query_time= 

    开启慢查询日志功能:

    slow_query_log=ON|OFF  //默认为off
    slow_query_log_file=HOSTNAME-slow.log
    
    log_slow_filter=  
      admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
    log_slow_queries = OFF
    log_slow_rate_limit = 1
    log_slow_verbosity

    示例:开启慢查询日志

    # vim /etc/my.cnf
    slow_query_log = on
    slow_query_log = HOSTNAME-slow.log
    
    mariadb> set @@global.long_query_log_time=1

    3、错误日志
      mysqld启动和关闭过程中输出的事件信息;
      mysqld运行中产生的错误信息;
      event scheduler运行一个event时产生的日志信息;
      在主从复制架构中的从服务器上启动从服务器线程时产生的信息;

    错误日志相关的变量:

    log_error=/PATH/TO/LOG_ERROR_FILE (|OFF|ON)  //默认是保存至 /var/log/mariadb/mariadb.log
    log_warnings=1|0 :是否记录警告信息至错误日志文件中;  //默认是1

    4、二进制日志
      记录导致数据改变或潜在导致数据改变的sql语句;
      功能:用于通过”重放“日志文件中的事件来生成数据副本;

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

    SHOW {BINARY | MASTER} LOGS

    查看正在使用中的二进制日志文件:

    SHOW MASTER STATUS

    查看指定的二进制日志文件内容:

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

    示例:

    SHOW BINLOG EVENTS IN 'mysql-bin.000007' FROM 526397\G

    二进制日志记录格式:

    基于”语句“记录:statement
    基于”行“记录:row
    混合模式:mixed,让系统自行判定该基于哪种方式进行;

    二进制日志文件的构成:

    两类文件
      日志文件:mysql-bin.文件名后缀, 二进制格式
      索引文件:mysql-bin.index,文本格式
    # cd /mydata/binlogs
    # ls
    mysql-bin.000001  mysql-bin.000002  mysql-bin.000003  mysql-bin.000004  mysql-bin.000005  mysql-bin.000006  mysql-bin.000007  mysql-bin.index

    服务器变量:

    sql_log_bin={ON|OFF}: 是否记录二进制日志  //默认是 on
    log_bin=/PATH/TO/BIN_LOG_FILE:记录的文件位置;通常为ON; //默认是off
    binlog_format=STATEMENT|ROW|MIXED:二进制日志记录的格式;
    max_binlog_size=1073741824: 单个二进制日志文件的最大体积,默认为1G;
      注意:(1)到达最大值会自动滚动 (2)文件达到上限时的大小未必为指定的精确值;
    sync_binlog=1|0:设定是否启用二进制日志同步功能;

    开启二进制日志:

    # vim /etc/my.cnf
    [mysqld]
    log_bin = mysql-bin
    
    binlog_format = statement
    sync_binlog = 1

    mysqlbinlog: 客户端命令工具

    mysqlbinlog [OPTIONS] log_file
      --start-position
      --stop-position
    
      --start-datetime=
      --stop-datetime=
        YYYY-MM-DD hh:mm:ss

    二进制日志内容的格式:

    # at 328    
    #210227 19:21:30 server id 1  end_log_pos 432     Query    thread_id=1    exec_time=0    error_code=0
    use `mydb`/*!*/;
    SET TIMESTAMP=1614471690/*!*/;
    create table tb1(id int,name varchar(20))
    /*!*/;
    起始位置:at 328
    
    事件发生的日期和时间:210227 19:21:30
    事件发生的服务器标识:server id 1
    事件的结束位置:end_log_pos 432
    事件的类型:Query
    事件发生时所在服务器执行此事件的线程的ID:thread_id=1
    语句的时间戳与将其写入二进制文件中的时间差:exec_time=0
    错误代码:error_code=0
    事件内容:
    
    GTID:Global Transaction ID:
      专属属性:GTID

    中继日志:

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

    事务日志: transaction log
      事务型存储引擎自行管理和使用;

    事务日志有两类:

    redo log: 重做日志
    undo log:撤销日志
  • 相关阅读:
    分组密码之DES
    QTreeWidget实现一个打包小工具
    实验吧web记录
    南邮CTF记录
    XSS学习之xss20
    安全之路的一些参考
    sqlilabs_Less2128
    sqlilabs_Less110
    BUGKU练习
    看了几天的EXTJS了
  • 原文地址:https://www.cnblogs.com/ckh2014/p/14470018.html
Copyright © 2020-2023  润新知