新聞中心
這篇文章主要講解了“解析MySQL relay log參數(shù)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“解析MySQL relay log參數(shù)”吧!
成都創(chuàng)新互聯(lián)公司主營(yíng)東勝網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App制作,東勝h5小程序設(shè)計(jì)搭建,東勝網(wǎng)站營(yíng)銷(xiāo)推廣歡迎東勝等地區(qū)企業(yè)咨詢
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不會(huì)把從master接收到的binlog記錄寫(xiě)入自己的binlog,這個(gè)參數(shù)會(huì)使slave通過(guò)SQL線程把從master接受到的binlog寫(xiě)進(jìn)自己的binlog,但是前提是slave一定要開(kāi)啟自己的binlog,此參數(shù)一般用于級(jí)聯(lián)復(fù)制,例如需要A復(fù)制到B,B復(fù)制到C,那么B就要開(kāi)啟此參數(shù)。
max_relay_log_size:
標(biāo)記relay log 允許的最大值,如果該值為0,則默認(rèn)值為max_binlog_size(1G);如果不為0,則max_relay_log_size則為
最大的relay_log文件大小;
relay_log:
定義relay_log的位置和名稱,如果值為空,則默認(rèn)位置在數(shù)據(jù)文件的目錄(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:
中轉(zhuǎn)日志文件的名稱和路徑。
relay_log_index:
同relay_log,定義relay_log的位置和名稱;一般和relay-log在同一目錄
relay_log_info_file:
設(shè)置relay-log.info的位置和名稱(relay-log.info記錄MASTER的binary_log的恢復(fù)位置和relay_log的位置)
relay_log_info_repository :
確定 從的 relay_log 位置放在 FILE(relay-log.info
) 還是 TABLE (mysql.slave_relay_log_info),保證數(shù)據(jù)寫(xiě)入的一致性
relay_log_purge:
開(kāi)啟或關(guān)閉在不需要的時(shí)候自動(dòng)刪除中轉(zhuǎn)日志。默認(rèn)開(kāi)啟(1),這是個(gè)全局變量,可以通過(guò) SET GLOBAL relay_log_purge =
N 動(dòng)態(tài)設(shè)置。
relay_log_recovery:
當(dāng)slave從庫(kù)宕機(jī)后,假如relay-log損壞了,導(dǎo)致一部分中繼日志沒(méi)有處理,則自動(dòng)放棄所有未執(zhí)行的relay-log,并且重新
從master上獲取日志,這樣就保證了relay-log的完整性。默認(rèn)情況下該功能是關(guān)閉的,將relay_log_recovery的值設(shè)置為 1
時(shí),可在slave從庫(kù)上開(kāi)啟該功能,建議開(kāi)啟。
relay_log_space_limit:
防止中繼日志寫(xiě)滿磁盤(pán),這里設(shè)置中繼日志最大限額。但此設(shè)置存在主庫(kù)崩潰,從庫(kù)中繼日志不全的情況,不到萬(wàn)不得
已,不推薦使用;
sync_relay_log:
這個(gè)參數(shù)和sync_binlog是一樣的,當(dāng)設(shè)置為1時(shí),slave的I/O線程每次接收到master發(fā)送過(guò)來(lái)的binlog日志都要寫(xiě)入系統(tǒng)
緩沖區(qū),然后刷入relay log中繼日志里,這樣是最安全的,因?yàn)樵诒罎⒌臅r(shí)候,你最多會(huì)丟失一個(gè)事務(wù),但會(huì)造成磁盤(pán)的
大量I/O。
當(dāng)設(shè)置為0時(shí),并不是馬上就刷入中繼日志里,而是由操作系統(tǒng)決定何時(shí)來(lái)寫(xiě)入,雖然安全性降低了,但減少了大量的磁
盤(pán)I/O操作。這個(gè)值默認(rèn)是0,可動(dòng)態(tài)修改,建議采用默認(rèn)值。
sync_relay_log_info:
這個(gè)參數(shù)和sync_relay_log參數(shù)一樣,當(dāng)設(shè)置為1時(shí),slave的I/O線程每次接收到master發(fā)送過(guò)來(lái)的binlog日志都要寫(xiě)入
系統(tǒng)緩沖區(qū),然后刷入relay-log.info里,這樣是最安全的,因?yàn)樵诒罎⒌臅r(shí)候,你最多會(huì)丟失一個(gè)事務(wù),但會(huì)造成磁盤(pán)
的大量I/O。當(dāng)設(shè)置為0時(shí),并不是馬上就刷入relay-log.info里,而是由操作系統(tǒng)決定何時(shí)來(lái)寫(xiě)入,雖然安全性降低了,但
減少了大量的磁盤(pán)I/O操作。這個(gè)值默認(rèn)是0,可動(dòng)態(tài)修改,建議采用默認(rèn)值。
推薦從庫(kù)線上環(huán)境使用以下配置
#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環(huán)境,則relay_log_purge 不要開(kāi)啟,設(shè)置為0,可以使用 purge_relay_logs 來(lái)定期清除。
感謝各位的閱讀,以上就是“解析MySQL relay log參數(shù)”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)解析MySQL relay log參數(shù)這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享名稱:解析MySQLrelaylog參數(shù)
網(wǎng)站地址:http://www.ef60e0e.cn/article/pjhoid.html