showslavestatus\G中的Read_Master_Log_Pos和Relay_Log的用法是怎樣的

本篇文章為大家展示了show slave status\G中的Read_Master_Log_Pos和Relay_Log的用法是怎樣的,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

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

ust to clarify, there are three sets of file/position coordinates in SHOW SLAVE STATUS:

1) The position, ON THE MASTER, from which the I/O thread is reading:Master_Log_File/Read_Master_Log_Pos. -----相對(duì)于主庫(kù),從庫(kù)讀取主庫(kù)的二進(jìn)制日志的位置,是IO線程

2) The position, IN THE RELAY LOGS, at which the SQL thread is executing:Relay_Log_File/Relay_Log_Pos ----相對(duì)于從庫(kù),是從庫(kù)的sql線程執(zhí)行到的位置

3) The position, ON THE MASTER, at which the SQL thread is executing:Relay_Master_Log_File/Exec_Master_Log_Pos ----相對(duì)于主庫(kù),是從庫(kù)的sql線程執(zhí)行到的位置

Numbers 2) and 3) are the same thing, but one is on the slave and the other is on the master.

MySQL > show slave status \G

Master_Log_File: mysql-bin-m.000329

Read_Master_Log_Pos: 863952156 ----上面二行代表IO線程,相對(duì)于主庫(kù)的二進(jìn)制文件

Relay_Log_File: mysql-relay.003990

Relay_Log_Pos: 25077069 ----上面二行代表了sql線程,相對(duì)于從庫(kù)的中繼日志文件

Relay_Master_Log_File: mysql-bin-m.000329

.....

Exec_Master_Log_Pos: 863936961---上面二行代表了sql線程,相對(duì)主庫(kù)

(為了方便演示,我把上面這行提前了.)

Relay_Log_Space: 25092264---當(dāng)前relay-log文件的大小

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

從上面可以看到,read_master_log_pos 始終會(huì)大于exec_master_log_pos的值(也有可能相等):因?yàn)橐粋€(gè)值是代表io線程,一個(gè)值代表sql線程;sql線程肯定在io線程之后.(當(dāng)然,io線程和sql線程要讀寫同一個(gè)文件,否則比較就失去意義了) .

在binlog中,Xid代表了提交的事務(wù)號(hào).現(xiàn)在我們分別去主從庫(kù)看看,驗(yàn)證一下,在主庫(kù)的mysql-bin-m.000329文件的863936961處是否與從庫(kù)的mysql-relay.003990文件的25077069處有相同的sql語(yǔ)句.

先看主庫(kù)的binlog:

#at 863936961

#100111 20:11:39 server id 115000 end_log_pos 863937234 Query thread_id=515886 exec_time=0 error_code=0

use mall00/!/;

UPDATE mall00.t_item_sid88 SET item_end_time = 1263816699, item_is_online = 1, item_status = 1 WHERE iid IN (94322390, 94322428, 94322452, 94322473, 94322506, 94322532, 94322604, 94322641, 94322670, 94322706)/!/;

#at 863937234

#100111 20:11:39 server id 115000 end_log_pos 863937261 Xid = 1225244590

COMMIT/!/;

#at 863937261

#100111 20:11:39 server id 115000 end_log_pos 863937457 Query thread_id=515886 exec_time=0error_code=0

SET TIMESTAMP=1263211899/!/;

再看從庫(kù)的relaylog:

#at 25077069

#100111 20:11:39 server id 115000 end_log_pos863937234 Query thread_id=515886 exec_time=0 error_code=0

use mall00/!/;

UPDATE mall00.t_item_sid88 SET item_end_time = 1263816699, item_is_online = 1, item_status = 1 WHERE iid IN (94322390, 94322428, 94322452, 94322473, 94322506, 94322532, 94322604, 94322641, 94322670, 94322706)/!/;

#at 25077342

#100111 20:11:39 server id 115000 end_log_pos 863937261 Xid = 1225244590

COMMIT/!/;

從上面的日志中,可以看到binlog與realy-log的內(nèi)容是相同的,除了開頭的at位置處的偏移量.因?yàn)槠屏渴冀K是相對(duì)于文件自身來(lái)說(shuō),主庫(kù)上相對(duì)于binlog本身,從庫(kù)上相對(duì)于relay-log本身.還可以看到,在每個(gè)query語(yǔ)句過后,都有一個(gè)Xid 的event,提交該事務(wù),也表明在mysql中是自動(dòng)提交的,每條語(yǔ)句執(zhí)行完畢后,系統(tǒng)都自動(dòng)提交了.那么在基于行的復(fù)制中,可能會(huì)看到多條binlog 語(yǔ)句才對(duì)應(yīng)一次commit,自然說(shuō)明這是基于行的復(fù)制.

還有一點(diǎn),就是主庫(kù)和從庫(kù)的對(duì)應(yīng)位置的event大小是相同的,例如上面的:

25077342-25077069(從庫(kù)上event大小)  =  863937234-863936961(主庫(kù)上event大小)

否則,說(shuō)明從庫(kù)的relay-log丟失了,有可能是操作系統(tǒng)緩存丟失,也可能是mysql 異常crash導(dǎo)致relay-log buffer中的數(shù)據(jù)丟失.那么這時(shí)候就需要重設(shè)主從同步了.

上述內(nèi)容就是show slave status\G中的Read_Master_Log_Pos和Relay_Log的用法是怎樣的,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文名稱:showslavestatus\G中的Read_Master_Log_Pos和Relay_Log的用法是怎樣的
標(biāo)題URL:http://muchs.cn/article2/gdssoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、外貿(mào)建站面包屑導(dǎo)航、小程序開發(fā)品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司