【体系结构】MySQL 日志文件--二进制日志:Binary Log & Binary Log Index

来源:互联网 发布:java split . 编辑:程序博客网 时间:2024/05/01 19:51

   找到这两个文件、


Rocky@localhost> show variables like 'datadir';+---------------+-------------------------+| Variable_name | Value                   |+---------------+-------------------------+| datadir       | /home/mysql/mysql/data/ |+---------------+-------------------------+1 row in set (0.00 sec)Rocky@localhost> system ls -l /home/mysql/mysql/data/total 31804-rw-rw---- 1 mysql dba 18874368 Apr 14 01:27 ibdata1-rw-rw---- 1 mysql dba  5242880 Apr 15 20:15 ib_logfile0-rw-rw---- 1 mysql dba  5242880 Apr 12 12:37 ib_logfile1-rw-rw---- 1 mysql dba        6 Apr 15 20:15 localhost.localdomain.piddrwxr-xr-x 2 mysql dba     4096 Apr 12 12:35 mysql-rw-rw---- 1 mysql dba    27828 Apr 12 12:35 mysql-bin.000001-rw-rw---- 1 mysql dba   997144 Apr 12 12:35 mysql-bin.000002-rw-rw---- 1 mysql dba      150 Apr 12 13:17 mysql-bin.000003-rw-rw---- 1 mysql dba    27025 Apr 12 12:56 mysql-bin.000004-rw-rw---- 1 mysql dba   997144 Apr 12 12:56 mysql-bin.000005-rw-rw---- 1 mysql dba    27025 Apr 12 12:59 mysql-bin.000006-rw-rw---- 1 mysql dba   997144 Apr 12 12:59 mysql-bin.000007-rw-rw---- 1 mysql dba      126 Apr 12 13:18 mysql-bin.000008-rw-rw---- 1 mysql dba      126 Apr 13 00:14 mysql-bin.000009-rw-rw---- 1 mysql dba     1346 Apr 13 20:20 mysql-bin.000010-rw-rw---- 1 mysql dba      150 Apr 13 20:23 mysql-bin.000011-rw-rw---- 1 mysql dba      107 Apr 13 20:23 mysql-bin.000012-rw-rw---- 1 mysql dba      107 Apr 13 21:56 mysql-bin.000013-rw-rw---- 1 mysql dba      126 Apr 13 22:50 mysql-bin.000014-rw-rw---- 1 mysql dba      229 Apr 14 01:27 mysql-bin.000015-rw-rw---- 1 mysql dba      107 Apr 15 20:15 mysql-bin.000016-rw-rw---- 1 mysql dba      304 Apr 15 20:15 mysql-bin.index


   ㈠ 定义
      
      记录了所有修改数据的query、包括:query语句、执行时间、所消耗资源、以及相关事务信息
      
   ㈡ 作用
      
      ① 恢复
      ② 复制
      
   ㈢ 相关参数
      
      相关参数挺多的、这里重点介绍一个:
      
      binlog_format
         
         含义:日志的格式
         性质:动态参数、session级或global级
                     set @@session.binlog_format='ROW' 或者
                     set global binlog_format='ROW'
         取值
               ● STATEMENT
                  
                  基于这个格式的复制、类似 Oracle 逻辑 standby 的 SQL Apply
                  
               ● ROW
                  
                  基于这个格式的复制、类似 Oracle 物理 standby 的 Redo Apply
                  
                  开启 ROW 的优点
                  ① 如果将InnoDB的事务隔离级别设为 READ COMMITED、加上 ROW、可获得更好的并发性
                  ② 为恢复和复制带来更好的可靠性
                  缺点
                  ① 二进制日志膨胀快速、磁盘空间开销大
                  ② 复制时、网络带宽需求大
                  
                  
               ● MIXED
                  
                  这是默认格式、比较狡猾、平时以 STATEMENT 运行、有些时候则以 ROW运行


Rocky@localhost> show variables like 'binlog_format';+---------------+-------+| Variable_name | Value |+---------------+-------+| binlog_format | MIXED |+---------------+-------+1 row in set (0.00 sec)