MariaDB日志

MariaDB日志


  • 查询日志:query log;
  • 慢查询日志:slow query log 查询时长超出指定界限。
  • 错误日志:error log
  • 二进制日志:binary log;此中存储要发生改变或潜在发生改变的语句。
  • 中继日志:reley log
  • 事务日志:transaction log

1、查询日志

记录查询语句,日志存储位置:一般不开启。

  • 文件:file
  • 表:table (mysql.general_log),查询信息直接再导入到数据库中。

查看与查询日志相关的信息
SHOW GLOBAL VARIABLES LIKE '%log%';

general_log={ON|OFF} #是否开启查询日志
general_log_file=HOSTNAME.log #查询的日志保存于何处
log_output={FILE|TABLE|NONE} #日志的输出格式上

2、慢查询日志

慢查询:运行时间超出指定时长的查询;
对于此日志我们应该启用,而且应该为开机自动启动,所以就应该写入配置文件的配置。

查看定义的慢查询的制定时间

  • HOW GLOBAL VARIABLES LIKE 'long_query_time'
  • SELECT @@GLOBAL long_query_time;

设定

SET GLOBAL long_query_time=

存储位置:
    文件:FILE
    表:TABLE,mysql.slog_log


slow_query_log={ON|OFF}  #是否启动慢查询
slow_query_log_file=   #日志文件路径                
log_slow_queries={ON|OFF} #是否记录慢查询日志
log_output={FILE|TABLE|NONE} #日志的记录格式

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 #指明记录的速率

log_slow_verbosity #详细级别

3、错误日志

记录信息:

  • (1) mysqld启动和关闭过程 输出的信息;
  • (2) mysqld运行中产生的错误信息;
  • (3) event scheduler运行时产生的信息;
  • (4) 主从复制架构中,从服务器复制线程启动时产生的日志;

      log_error=
      log_warnings={ON|OFF}
    

4、二进制日志

用于记录引起数据改变或存在引起数据改变的潜在可能性的语句(STATEMENT)或改变后的结果(ROW),也可能是二者混合;
my.cnf的 [mysqld] 字段添加 log_bin 这一行即可

功用:“重放”日志文件中的事件来生成副本。

binlog_format={STATEMENT|ROW|MIXED}

二进制日志记录格式

    STATEMENT:基于语句记录;
    ROW:基于行;
    MIXED:混编,让系统自动判定记录方式;

二级制日志文件的构成:

日志文件: mysql-bin.文件名后缀;二进制格式
索引文件: mysql-bin.index;文本格式

查看二进制日志文件列表:

SHOW MASTER|BINARY LOGS;

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

SHOW MASTER STATUS;

查看二进制 日志文件中的事件:

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

SHOW BINLOG EVENTS IN 'mysql-bin.000002'; #就能查看在再次文件内mysql发生的事件。还可以指明显示的起始位置

服务器变量:

log_bin {ON|OFF}
sql_log_bin {ON|OFF} #这两个同时为ON就表示启用二进制日志记录功能 

log_bin=/PATH/TO/BIN_LOG_FILE #日志文件的记录位置:此功能必须为ON

max_binlog_size=1073741824 :单个二进制文件的最大体积,默认为这个(1G,不一定会精确)

sync_binlog={1|0} #是否启动二进制日志同步功能。1的话就是精确记录

mysqlbinlog:客户端命令工具

mysqlbinlog [option] logfile  

命令选项:

    -j, 

    --start-datetime=  根据事件发生的时间范围
    --stop-datetime=
        YYYY-MM-DD hh:mm:ss 指明的时间格式    

    --start-position=#  从哪个事件id开始显示
    --stop-position=#   到哪个事件id结束

     --user, --host, --password

二进制日志事件格式:

    # at 553
    #160831  9:56:08 server id 1  end_log_pos 624   Query   thread_id=2     exec_time=0     error_code=0
    SET TIMESTAMP=1472608568/*!*/;
    BEGIN
    /*!*/; #结束标志

    事件发生的日期时间:#160831  9:56:08
    事件发生的服务器id:server id 1
    事件的结束位置:end_log_pos 624
    事件的类型:Query
    事件发生时所在服务器执行此事件的线程的ID: thread_id=2 
    语句的时间戳与将其写入二进制日志文件中的时间差:exec_time=0
    错误代码:error_code=0
    事件内容:SET TIMESTAMP=1472608568/*!*/;

中继日志:

复制架构中,从服务器上记录下来从主服务器的二进制日志文件同步过来的事件;

事务日志:

帮助事务型存储引擎innodb用于保证事务特性的日志文件:用户无法手动使用。存储引擎采用。

具有两个和两个以上的文件

用于提交事务到数据磁盘中,也可以回滚。

| innodb_log_file_size          | 5242880 事务日志文件大小      
| innodb_log_files_in_group     | 2 事务文件日志个数 
| innodb_log_group_home_dir     | ./  存储位置

事务日志文件所在位置及名字
/var/lib/mysq/lib_logfile0
/var/lib/mysq/lib_logfile1

事务日志的类别

redo log :重做日志 
undo log :撤销日志

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/60186

(0)
qzxqzx
上一篇 2016-11-20
下一篇 2016-11-20

相关推荐

  • 第六周博客作业

                   1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s@^[[:space:]]\+[^[:…

    Linux干货 2016-12-05
  • 文件查找命令find详解

    文件的查找命令 find 用法 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径;默认为当前目录查找条件…

    Linux干货 2016-11-07
  • 与正则表达式的第一次亲密接触

    Linux文本处理三剑客 grep:文本过滤(模式:psttern)工具 grep,egrep,fgrep (不支持正则表达式搜索) sed:stream editor,文本编辑工具 awk:Linux上的实现gawk,文本报告生成器 下面就先谈一谈:grep及正则表达式;egrep及扩展的正则表达式 grep grep:Goobal search REgu…

    Linux干货 2017-04-06
  • 国际标准OSI七层模型和事实标准TCP/IP四层模型

    我们知道,标准分为三种:国际标准、国家标准和事实标准。那我们学习的两个重要模型:OSI和TCP/IP模型分别属于国际标准和事实标准,接下来我们来总结一下两种模型的分层及功能还有异同: 一:国际标准OSI模型 OSI:(Open System Interconnect) 开放系统互连,总共分为七层,从下到上顺序为:物理层(physical)、数据链路层(dat…

    2017-09-02
  • 日志系统

    日志管理 发送日志命令,通知用户:logger  -p  local7.info “this is a test log” Local#.info 为自定义到文件或目录,或用户的级别 日志远程存储需要启动514端口,在centos7上需要取消注释 Uptime可以查看开机时间 rsyslog特性:CentOS6和7 Ü多线程 ÜUDP…

    Linux干货 2018-02-01
  • 马哥教育网络班N22期+第三周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    who | cut -d " " -f 1 | sort | uniq 2、取出最后登录到当前系统的用户的相关信息。    last | head -n 1  3、取出当前系统上被用户当作其默…

    Linux干货 2016-09-08