av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

圖文結(jié)合帶你搞懂MySQL日志之relaylog(中繼日志)

什么是中繼日志(relay log)

中繼日志(relay log)?只在主從服務(wù)器架構(gòu)的從服務(wù)器上存在。從服務(wù)器(slave)?為了與主服務(wù)器(Master)保持一致,要從主服務(wù)器讀取二進制日志的內(nèi)容,并且把讀取到的信息寫入本地的日志文件中,這個從服務(wù)器本地的日志文件就叫中繼日志。然后,從服務(wù)器讀取中繼日志,并根據(jù)中繼日志的內(nèi)容對從服務(wù)器的數(shù)據(jù)進行更新,完成主從服務(wù)器的數(shù)據(jù)同步。

宣威ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

搭建好主從服務(wù)器之后,中繼日志默認會保存在從服務(wù)器的數(shù)據(jù)目錄下。

文件名的格式是:從服務(wù)器名 - relay-bin.序號?。中繼日志還有一個索引文件:從服務(wù)器名 - relay-bin.index,用來定位當前正在使用的中繼日志。

(主從復(fù)制原理圖)

從服務(wù)器I/O線程將主服務(wù)器的二進制日志(binlog)讀取過來記錄到從服務(wù)器本地文件,然后從服務(wù)器SQL線程會讀取中繼日志的內(nèi)容并應(yīng)用到從服務(wù)器,從而使從服務(wù)器和主服務(wù)器的數(shù)據(jù)保持一致。

中繼日志的作用

中繼日志用于主從服務(wù)器架構(gòu)中,從服務(wù)器用來存放主服務(wù)器二進制日志內(nèi)容的一個中間文件。從服務(wù)器通過讀取中繼日志的內(nèi)容,來同步主服務(wù)器上的操作。

中繼日志是連接mastert(主服務(wù)器)和slave(從服務(wù)器)的信息,它是復(fù)制的核心,I/O線程將來自master的binlog存儲到中繼日志中,中繼日志充當緩沖,這樣master不必等待slave執(zhí)行完成就可以發(fā)送下一個binlog。

查看中繼日志

中繼日志文件的格式與二進制日志文件相同,并且可以 使用 mysqlbinlog 進行讀取

SET TIMESTAMP= 1615352328 /*!*/;
BEGIN
/*!*/;
# at 900
#211413 11:33:46 server id 1 end_log_pos 832 CRC32 0xcc16d651 Table_map:
`kaito`.`test` mapped to number 91
# at 950
#211413 11:33:46 server id 1 end_log_pos 872 CRC32 0x07e4047c Delete_rows: table id
91 flags: STMT_END_F -- server id 1 是主服務(wù)器,意思是主服務(wù)器刪了一行數(shù)據(jù)
BINLOG '
CD95YBMBAAAAMgAAAEADAAAAAFsAAAAAAAEABGRlbW8ABHRlc3QAAQMAAQEBAFHWFsw=
CD95YCABAAAAKAAAAGgDAAAAAFsAAAAAAAEAAgAB/wABAAAAfATkBw==
'/*!*/;
# at 1000

這一段的意思是,主服務(wù)器(“server id 1”)對表 kaito.test 進行了 2 步操作:

定位到表 kaito.test 編號是 91 的記錄,日志位置是 832

刪除編號是 91 的記錄,日志位置是 872

相關(guān)參數(shù)解析

通過語句:show variables like '%relay%' 查看先骨干的relay的所有相關(guān)參數(shù)如下:

mysql> show variables like '%relay%';
+---------------------------+---------------------------------------+
| Variable_name | Value |
+---------------------------+---------------------------------------+
| max_relay_log_size | 0 |
| relay_log | kaito-relay-bin |
| relay_log_basename | /var/lib/mysql/kaito-relay-bin |
| relay_log_index | /var/lib/mysql/kaito-relay-bin.index |
| relay_log_info_file | relay-log.info |
| relay_log_info_repository | TABLE |
| relay_log_purge | ON |
| relay_log_recovery | OFF |
| relay_log_space_limit | 0 |
| sync_relay_log | 10000 |
| sync_relay_log_info | 10000 |
+---------------------------+---------------------------------------+
11 rows in set (0.00 sec)
  • max_relay_log_size:標記relay log 允許的最大值,如果該值為0,則默認值為max_binlog_size(1G);如果不為0,則max_relay_log_size則為最大的relay_log文件大小;
  • relay_log:定義relay_log的位置和名稱,如果值為空,則默認位置在數(shù)據(jù)文件的目錄(datadir),文件名默認為host_name-relay-bin.nnnnnn
  • 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_purge:是否自動清空不再需要中繼日志時。默認值為1(啟用)。
  • relay_log_recovery:?當slave從庫宕機后,假如relay-log損壞了,導(dǎo)致一部分中繼日志沒有處理,則自動放棄所有未執(zhí)行的relay-log,并且重新從master上獲取日志,這樣就保證了relay-log的完整性。默認情況下該功能是關(guān)閉的,將relay_log_recovery的值設(shè)置為 1時,可在slave從庫上開啟該功能,建議開啟。
  • relay_log_space_limit:防止中繼日志寫滿磁盤,這里設(shè)置中繼日志最大限額。
  • 注意!但此設(shè)置存在主庫崩潰,從庫中繼日志不全的情況,不到萬不得已,不推薦使用!
  • sync_relay_log:?這個參數(shù)和sync_binlog?是一樣的,當設(shè)置為1時,slave的I/O線程每次接收到master發(fā)送過來的binlog日志都要寫入系統(tǒng)緩沖區(qū),然后刷入relay log中繼日志里,這樣是最安全的,因為在崩潰的時候,你最多會丟失一個事務(wù),但會造成磁盤的大量I/O當設(shè)置為0時,并不是馬上就刷入中繼日志里,而是由操作系統(tǒng)決定何時來寫入,雖然安全性降低了,但減少了大量的磁盤I/O操作。這個值默認是0,可動態(tài)修改,建議采用默認值。
  • sync_relay_log_info:這個參數(shù)和sync_relay_log參數(shù)一樣,當設(shè)置為1時,slave的I/O線程每次接收到master發(fā)送過來的binlog日志都要寫入系統(tǒng)緩沖區(qū),然后刷入relay-log.info里,這樣是最安全的,因為在崩潰的時候,你最多會丟失一個事務(wù),但會造成磁盤的大量I/O。當設(shè)置為0時,并不是馬上就刷入relay-log.info里,而是由操作系統(tǒng)決定何時來寫入,雖然安全性降低了,但減少了大量的磁盤I/O操作。這個值默認是0,可動態(tài)修改,建議采用默認值。

以上只是簡單的介紹了每個參數(shù)的作用,這些參數(shù)具體的設(shè)置還是需要根據(jù)每個用戶的實際系統(tǒng)情況進行設(shè)置的;

參考文章

《MySQL是怎樣運行的--從根兒上理解MySQL》—小孩子4919(https://juejin.cn/book/6844733769996304392)


本文名稱:圖文結(jié)合帶你搞懂MySQL日志之relaylog(中繼日志)
當前網(wǎng)址:http://uogjgqi.cn/article/cdcijgg.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流