【體系結構】MySQL日志文件--二進制日志:Binary Log & Binary Log Index 先找到這兩個文件、 [plain] 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運行 [plain] Rocky@localhost> show variables like 'binlog_format'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | MIXED | +---------------+-------+ 1 row in set (0.00 sec)