mysql relay log引數彙總
前言:mysql進行主主複製或主從複製的時候會在home目錄下面產生相應的relay log,本文件總結這些相關引數的定義及解釋
1、什麼是relay log
The relay log, like the binary log, consists of a set of numbered files containing events that describe database changes, and an index file that contains the names of all used relay log files. The term "relay log file" generally denotes an individual numbered file containing database events. The term"relay log" collectively denotes the set of numbered relay log files plus the index file 來源: <http://dev.mysql.com/doc/refman/5.5/en/slave-logs-relaylog.html> |
理解:relay log很多方面都跟binary log差不多,區別是:從伺服器I/O執行緒將主伺服器的二進位制日誌讀取過來記錄到從伺服器本地檔案,然後SQL執行緒會讀取relay-log日誌的內容並應用到從伺服器。
2、relay log的相關引數,
透過語句:show variables like '%relay%',檢視先骨幹的relay的所有相關引數
mysql> show variables like '%relay%';
+-----------------------+----------------+
| Variable_name | Value |
+-----------------------+----------------+
| max_relay_log_size | 0 |
| relay_log | |
| relay_log_index | |
| relay_log_info_file | relay-log.info |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
| sync_relay_log | 0 |
| sync_relay_log_info | 0 |
+-----------------------+----------------+
9 rows in set (0.08 sec)
2.1 max_relay_log_size:標記relay log 允許的最大值,如果該值為0,則預設值為max_binlog_size(1G);如果不為0,則max_relay_log_size則為最大的relay_log檔案大小;
2.2 relay_log:定義relay_log的位置和名稱,如果值為空,則預設位置在資料檔案的目錄,檔名為host_name-relay-bin.nnnnnn(By default, relay log file names have the form host_name-relay-bin.nnnnnn in the data directory);
2.3 relay_log_index:同relay_log,定義relay_log的位置和名稱;
2.4 relay_log_info_file:設定relay-log.info的位置和名稱(relay-log.info記錄MASTER的binary_log的恢復位置和relay_log的位置)
2.5 relay_log_purge:是否自動清空不再需要中繼日誌時。預設值為1(啟用)。
2.6 relay_log_recovery:當slave從庫當機後,假如relay-log損壞了,導致一部分中繼日誌沒有處理,則自動放棄所有未執行的relay-log,並且重新從master上獲取日誌,這樣就保證了relay-log的完整性。預設情況下該功能是關閉的,將relay_log_recovery的值設定為 1時,可在slave從庫上開啟該功能,建議開啟。
2.7 relay_log_space_limit:防止中繼日誌寫滿磁碟,這裡設定中繼日誌最大限額。但此設定存在主庫崩潰,從庫中繼日誌不全的情況,不到萬不得已,不推薦使用;
2.8 sync_relay_log:這個引數和sync_binlog是一樣的,當設定為1時,slave的I/O執行緒每次接收到master傳送過來的binlog日誌都要寫入系統緩衝區,然後刷入relay log中繼日誌裡,這樣是最安全的,因為在崩潰的時候,你最多會丟失一個事務,但會造成磁碟的大量I/O。當設定為0時,並不是馬上就刷入中繼日誌裡,而是由作業系統決定何時來寫入,雖然安全性降低了,但減少了大量的磁碟I/O操作。這個值預設是0,可動態修改,建議採用預設值。
2.9 sync_relay_log_info:這個引數和sync_relay_log引數一樣,當設定為1時,slave的I/O執行緒每次接收到master傳送過來的binlog日誌都要寫入系統緩衝區,然後刷入relay-log.info裡,這樣是最安全的,因為在崩潰的時候,你最多會丟失一個事務,但會造成磁碟的大量I/O。當設定為0時,並不是馬上就刷入relay-log.info裡,而是由作業系統決定何時來寫入,雖然安全性降低了,但減少了大量的磁碟I/O操作。這個值預設是0,可動態修改,建議採用預設值。
3、總結:以上只是簡單的介紹了每個引數的作用,這些引數具體的設定還是需要根據每個使用者的實際系統情況進行設定的;
*********************************************************************************************************************本文作者:JOHN QQ:1916066696 (請備註資料庫)
ORACLE技術部落格:ORACLE 獵人筆記 http://blog.itpub.net/12679300/
請掃描加微訊號!
******************************************************************************************
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8494287/viewspace-1356133/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL relay log 詳細引數解釋MySql
- mysql relay log相關引數說明MySql
- mysql relay log和binlog 小結MySql
- MySQL中Redo Log相關的重要引數總結MySql
- MySQL slow log相關引數MySql
- Hadoop2.x 引數彙總Hadoop
- 刪除mysql relay-log 的解決辦法MySql
- MySQL slow log相關引數解釋MySql
- MySQL:產生大量小relay log的故障一例MySql
- Kafka 配置引數彙總及相關說明Kafka
- MySQL工具彙總MySql
- Sendmail relay規則及配置檔案用法彙總 sendmail配置 (轉)AI
- mysql的sync_binlog引數實驗MySql
- 【Mysql】ERROR 1872 (HY000): Slave failed to initialize relay log infoMySqlErrorAI
- pygame模組引數彙總(python遊戲程式設計)GAMPython遊戲程式設計
- 引腳複用彙總
- mysql innodb_log_file_size 和innodb_log_buffer_size引數MySql
- MySql Binlog 說明 & Canal 整合MySql的更新異常說明 & MySql Binlog 常用命令彙總MySql
- MySQL binlog_ignore_db 引數最全解析MySql
- mysql效能引數innodb_flush_log_at_trx_commitMySqlMIT
- MySQL知識彙總MySql
- mysql 面試題彙總MySql面試題
- MYSQL sync_relay_log對I/O thread的影響分析MySqlthread
- 【MySQL】錯誤資訊寫入slave_relay_log.index 案例一則MySqlIndex
- LOGFILE LAYER OPCODE 彙總
- redis info memory命令的各項引數解釋彙總Redis
- mysql binlog_do_db引數設定的坑MySql
- Mysql 引數MySql
- MySQL1:MySQL函式彙總MySql函式
- MySQL-知識彙總MySql
- MySQL常用函式彙總MySql函式
- [MYSQL -12]彙總資料MySql
- Mysql-error code彙總MySqlError
- MySQL工具彙總 - cenaluluMySql
- MySql 常用語法彙總MySql
- Logback使用問題彙總
- MySQL主從複製配置引數 -- logs-slave-updatesMySql
- mysql的innodb_flush_log_at_trx_commit引數實驗MySqlMIT