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

相关推荐

  • rpm与yum的初步学习

    rpm与yum的初步学习   我们在使用linux系统时需要安装和卸载软件,我们这节就先来看一下rpm和yum的初步简单实用。 linux软件安装:   安装程序的方式:      通用二进制格式:直接解压压缩文件,就可以使用。但一定要注意安装平台。     &nbsp…

    Linux干货 2016-08-24
  • 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
  • 网络N23期第二周心得

    1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp 文件复制        常用选项:            -i:交互式            -r, -R: 递归…

    Linux干货 2016-12-05
  • 实验删除分区表

    首先我们先对分区表做个备份 dd if=/dev/sda of=/app/mbr bs=1 count=512 把备份考到另一台设备上,不拷贝的话这台设备开不了机无法使用备份的文件 清除分区表 接下来需要在客户端操作 使用光盘救援模式启动 启用网络 选网卡 自动获取ip后默认下一步 接下来就是把刚刚拷到另一台设备上的文件拷贝回来   注:这是在光盘的根目录下…

    2017-12-05
  • Linux基础知识之用户和组管理

    系统环境:    该博文以CentOS6.8_x86_64和CentOS7.2_x86_64系统为基础,Xshell5远程登录CentOS6.8和CentOS7.2系统,分别以root身份和sjsir用户身份登录系统。 学习的重要问题: 一、为什么要学习用户和组?    首先Linux区别于其他的系统的最重要的特性就是…

    Linux干货 2016-08-02
  • M22 使用NFS实现web共享发布

    实验目的: 搭建两个LAMP web发布系统搭建WordPress博客网站,并使用NFS作为共享的网络文件系统使这两个web服务器发布的内容一致。 实验工具: webServer1 Centos6.8 172.18.55.6 webServer2 Centos7.3 172.18.55.7 nfsServer Centos7.3 172.18.55.71 w…

    2017-04-26