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 來定期清除。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2654677/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql relay log相關引數說明MySql
- expdp/impdp 詳細引數解釋
- MySQL explain執行計劃詳細解釋MySqlAI
- mysql 5.7配置項最詳細的解釋MySql
- 《Kafka實戰》之生產者API使用(引數解釋超詳細)KafkaAPI
- MySQL:Innodb Handler_read_*引數解釋MySql
- ES6中rest引數詳細講解REST
- 監聽配置細節引數詳解兩則
- MySQL:產生大量小relay log的故障一例MySql
- MySQL8.0新增配置引數詳解MySql
- 『現學現忘』Git基礎 — 25、git log命令引數詳解Git
- Servlet、HTTP詳細解釋!ServletHTTP
- JPS 命令詳細解釋
- ajax 引數詳解
- OGG引數詳解
- Mysql系統變數中 log_error_services | log_filter_internal; log_sink_internal 和 log_error_verbosity | 2 解釋MySql變數ErrorFilter
- Application.Caller詳細解釋APP
- MySQL中Redo Log相關的重要引數總結MySql
- 2、MySQL錯誤日誌(Error Log)詳解MySqlError
- Dockerfile - 引數與詳解Docker
- lsblk命令引數詳解
- Flink Checkpoint 引數詳解
- 函式引數詳解函式
- tar命令引數詳解
- JQuery Datatables Columns API 引數詳細說明jQueryAPI
- Nginx編譯引數大全 configure引數中文詳解Nginx編譯
- pg_settings引數詳解
- 常用的 wget 引數詳解wget
- find 命令的引數詳解
- Oracle GoldenGate常用引數詳解OracleGo
- oracle rac 核心引數詳解Oracle
- variables_order引數詳解
- SQL*Plus Set引數詳解SQL
- Prometheus hashmod 配置引數詳解Prometheus
- MySQL:Innodb:innodb_flush_log_at_trx_commit引數影響的位置MySqlMIT
- python協程詳細解釋以及例子Python
- 【超詳細】解釋BigDecimal精度的坑Decimal
- 函式解構引數小細節函式