mysql relay log相關引數說明

chenfeng發表於2018-06-28
max_relay_log_size:標記relay log 允許的最大值,如果該值為0,則預設值為max_binlog_size(1G);如果不為0,則max_relay_log_size則為最大的relay_log檔案大小;

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);

relay_log_index:同relay_log,定義relay_log的位置和名稱;

relay_log_info_file:設定relay-log.info的位置和名稱(relay-log.info記錄MASTER的binary_log的恢復位置和relay_log的位置)

relay_log_purge:是否自動清空不再需要中繼日誌時。預設值為1(啟用)。

relay_log_recovery:當slave從庫當機後,假如relay-log損壞了,導致一部分中繼日誌沒有處理,則自動放棄所有未執行的relay-log,並且重新從master上獲取日誌,這樣就保證了relay-log的完整性。預設情況下該功能是關閉的,將relay_log_recovery的值設定為 1時,可在slave從庫上開啟該功能,建議開啟。

relay_log_space_limit:防止中繼日誌寫滿磁碟,這裡設定中繼日誌最大限額。但此設定存在主庫崩潰,從庫中繼日誌不全的情況,不到萬不得已,不推薦使用;

sync_relay_log:這個引數和sync_binlog是一樣的,當設定為1時,slave的I/O執行緒每次接收到master傳送過來的binlog日誌都要寫入系統緩衝區,然後刷入relay log中繼日誌裡,這樣是最安全的,因為在崩潰的時候,你最多會丟失一個事務,但會造成磁碟的大量I/O。當設定為0時,並不是馬上就刷入中繼日誌裡,而是由作業系統決定何時來寫入,雖然安全性降低了,但減少了大量的磁碟I/O操作。這個值預設是0,可動態修改,建議採用預設值。


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,可動態修改,建議採用預設值

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2156933/,如需轉載,請註明出處,否則將追究法律責任。

相關文章