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

    1、查询日志:一般来说不开开启(会产生额外压力,并且不一定有价值),query log
    记录查询操作:可以记录到文件(file)中也可记录到表(table)中
    general_log=ON|OFF
    general_log_file=HOSTNAME.log
    log_output=TABLE|FILE|NONE
    2、慢查询日志:slow query log
    执行时长超出指定时长的查询操作:
    SHOW GLOBAL VARIABLES LIKE 'long_query_time';
    SELECT @@GLOBAL.long_query_time;
    SET GLOBAL long_query_time=10
    是否开启慢查询日志
    slow_query_log=ON|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_rate_limit=1
    log_slow_verbosity
    3、错误日志:error log
    mysqld启动和关闭过程中输出的事件信息;
    mysqld运行中产生的错误信息;
    event scheduler运行一个event时产生的日志信息;
    在主从复制架构中的从服务器上启动从服务器线程时产生的信息;
    log_error=/PATH/TO/LOG_ERROR_FILE
    log_warning
    4、二进制日志:binary log
    功能:
    用于通过"重放"日志文件中的事件来生成数据副本;
    记录导致数据改变或潜在导致数据改变的SQL语句
    SHOW {BINARY | MASTER} LOGS
    SHOW BINLOG EVENTS IN 'mysql-bin.000002'G;
    SHOW MASTER STATUS;查看正在使用的二进制日志
    SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]
    二进制日志的记录格式:
    基于"语句"记录:statement;
    基于"行"记录:row(数据量较大);
    混合模式:mixed,让系统自行判定该基于那种方式进行;
    二进制日志文件的构成(两类文件):
    日志文件:mysql-bin.文件名后缀,二进制格式
    索引文件:mysql-bin.index,文本格式
    二进制日志的服务器变量:
    sql_log_bin=ON|OFF:是否记录二进制日志;
    log_bin=/PATH/TO/BIN_LOG_FILE:记录的文件位置,并制定文件名前缀;(二进制日志经过滚动方式记录)
    binlog_format=STATEMENT|ROW|MIXED:二进制日志记录格式,默认为MIXED
    max_binlog_size=1073741824:单个二进制日志文件的最大体积,默认为1G;
    注意:(1)到达最大值会自动滚动
    (2)文件达到上限时的大小未必为指定的精确值
    sync_binlog=0|1:设定是否启动二进制日志同步功能,自行选择
    等于0会影响数据
    等于1会影响性能
    mysqlbinlog命令:客户端命令工具
    mysqlbinlog [OPTIONS] logfile
    按位置:(两个文件可能会出现位置相同的编号)
    --start-position
    --stop-position
    按时间:(可以跨文件查看)
    --start-datetime=YYYY-MM-DD hh:mm:ss
    --stop-datetime=YYYY-MM-DD hh:mm:ss
    二进制日志格式:
    #171113 18:41:18 server id 1 end_log_pos 517 CRC32 0x314e769d GTID 0-1-51 ddl
    /*!100001 SET @@session.gtid_seq_no=51*//*!*/;
    # at 517
    #171113 18:41:18 server id 1 end_log_pos 626 CRC32 0x147c0b49 Query thread_id=9 exec_time=0 error_code=0
    use `fansik`/*!*/;
    SET TIMESTAMP=1510569678/*!*/;
    create table user(id int, name char(30))
    /*!*/;
    事件发生的日期和时间:171113 18:41:18
    事件发生的服务器标识:server id 1
    事件的结束位置:end_log_pos 517
    事件的类型:Query
    事件发生时所在服务器执行此事件的线程的ID:thread_id=9
    语句的时间戳与将其写入二进制文件中的时间差:exec_time=0
    错误代码:error_code=0
    事件内容:create table user(id int, name char(30))
    GTID:Global Transaction ID(全局事务ID号):避免复制中的事务冲突:GTID 0-1-51 ddl
    5、中继日志:relay log
    复制架构中,从服务器用于保存主服务器的二进制日志读取到的内容;
    6、事务日志:transaction log
    事务型存储引擎自行管理和使用;
    redo log
    undo log
  • 相关阅读:
    OutputCache 缓存key的创建 CreateOutputCachedItemKey
    Asp.net Web Api源码调试
    asp.net mvc源码分析DefaultModelBinder 自定义的普通数据类型的绑定和验证
    Asp.net web Api源码分析HttpParameterBinding
    Asp.net web Api源码分析HttpRequestMessage的创建
    asp.net mvc源码分析ActionResult篇 RazorView.RenderView
    Asp.Net MVC 项目预编译 View
    Asp.net Web.config文件读取路径你真的清楚吗?
    asp.net 动态创建TextBox控件 如何加载状态信息
    asp.net mvc源码分析BeginForm方法 和ClientValidationEnabled 属性
  • 原文地址:https://www.cnblogs.com/fansik/p/7830855.html
Copyright © 2011-2022 走看看