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

相关推荐

  • MySQL-MMM实现MySQL高可用读写分离

    实验环境 实验拓扑 主机配置环境说明 主机名 IP地址 角色/用途 MySQL Server_ID master1 192.168.80.101 MySQL主节点,可读写操作 11 master2 192.168.80.102 MySQL备节点,可读写操作 12 slave1 192.168.80.103 MySQL从节点,仅能读 13 slave2 192…

    Linux干货 2016-06-01
  • Linux的SOCKET编程详解

    1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe)、命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(message)、共享存储区…

    Linux干货 2015-04-10
  • 为大家准备了几道简单的小题,不知道看过这篇文章后能否做出来?(考验你能力的时候到了,接招吧。。。) 1、将0-9分别替代成a-j 2、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中 3、计算1+2+3+..+99+100的值 4、处理字符串“xt.,l 1 jr#!$mn2 c*/fe 3 uz 4”,只保留其中的数字…

    2017-07-22
  • 十个让你变成糟糕的程序员的行为

    之前本站发表过《优秀程序员的十个习惯》以及《程序员需要具备的基本技能》,那是我们需要去学习和培养的。这里,我们主要讨论十个糟糕程序员的特征,主要是需要让我们去避免和小心的。 1) 情绪化的思维 如果你开始使用不同颜色的眼光来看待这个世界的话,那么你可能会成为一个很糟糕的程序员。情绪化的思维或态度很有可能会把自己变成一个怪物。相信你经常可以看到很多很糟糕的程序…

    Linux资讯 2015-04-03
  • N25期–第十七周作业

    1、  结合图形描述LVS的工作原理; 针对高可伸缩、高可用网络服务的需求,给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。 虚拟服务器的体系结构如图所示,一组服务器通过高速的局域网或者地理分布的广域网相互连接,在它们的前端有一个负载调度器(…

    2017-05-08
  • N25期–第十四周作业

    系统的INPUT和OUTPUT默认策略为DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、 限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;   #iptables…

    Linux干货 2017-04-10