您的位置:首页 > 数据库 > MySQL

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

2013-04-15 22:37 561 查看
   先找到这两个文件、

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.pid
drwxr-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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MySQL binlog