您好,登錄后才能下訂單哦!
這篇文章主要講解了“解析MySQL relay log參數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“解析MySQL relay log參數”吧!
root@db 16:12: [(none)]> show variables like '%relay%';
+---------------------------+--------------------------------------+
| Variable_name | Value |
+---------------------------+--------------------------------------+
| max_relay_log_size | 0 |
| relay_log | |
| relay_log_basename | /data/mysql/node2bak-relay-bin |
| relay_log_index | /data/mysql/node2bak-relay-bin.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | TABLE |
| relay_log_purge | ON |
| relay_log_recovery | ON |
| relay_log_space_limit | 0 |
| sync_relay_log | 10000 |
| sync_relay_log_info | 10000 |
+---------------------------+--------------------------------------+
11 rows in set (0.00 sec)
root@db 16:12: [(none)]>
log-slave-updates:
一般情況下slave不會把從master接收到的binlog記錄寫入自己的binlog,這個參數會使slave通過SQL線程把從master接受到的binlog寫進自己的binlog,但是前提是slave一定要開啟自己的binlog,此參數一般用于級聯復制,例如需要A復制到B,B復制到C,那么B就要開啟此參數。
max_relay_log_size:
標記relay log 允許的最大值,如果該值為0,則默認值為max_binlog_size(1G);如果不為0,則max_relay_log_size則為
最大的relay_log文件大小;
relay_log:
定義relay_log的位置和名稱,如果值為空,則默認位置在數據文件的目錄(datadir),文件名為host_name-relay-bin.nn
nnnn(By default, relay log file names have the form host_name-relay-bin.nnnnnn in the data directory);
relay_log_basename:
中轉日志文件的名稱和路徑。
relay_log_index:
同relay_log,定義relay_log的位置和名稱;一般和relay-log在同一目錄
relay_log_info_file:
設置relay-log.info的位置和名稱(relay-log.info記錄MASTER的binary_log的恢復位置和relay_log的位置)
relay_log_info_repository :
確定 從的 relay_log 位置放在 FILE(relay-log.info
) 還是 TABLE (mysql.slave_relay_log_info),保證數據寫入的一致性
relay_log_purge:
開啟或關閉在不需要的時候自動刪除中轉日志。默認開啟(1),這是個全局變量,可以通過 SET GLOBAL relay_log_purge =
N 動態設置。
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,可動態修改,建議采用默認值。
推薦從庫線上環境使用以下配置
#relay log
max_relay_log_size = 0;
relay_log=$datadir/relay-bin
relay_log_purge = 1;
relay_log_recovery = 1;
sync_relay_log =0;
sync_relay_log_info = 0;
如果是mha環境,則relay_log_purge 不要開啟,設置為0,可以使用 purge_relay_logs 來定期清除。
感謝各位的閱讀,以上就是“解析MySQL relay log參數”的內容了,經過本文的學習后,相信大家對解析MySQL relay log參數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。