前言
創(chuàng)新互聯(lián)公司專注于秀英企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。秀英網(wǎng)站建設(shè)公司,為秀英等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)MySQL的主從復(fù)制的基本原理是從庫連接到主庫,主庫生成一個主庫DUMP線程,該DUMP線程的主要任務(wù)是
一直挖掘binlog日志,然后發(fā)送到從庫的IO線程,IO線程接收到日志流后,寫入relay log,另一個線
程SQL線程,會讀取該relay log內(nèi)容,然后對sql語句進行重放.
本文主要給大家介紹的是關(guān)于MySQL主從復(fù)制線程狀態(tài)轉(zhuǎn)變的相關(guān)內(nèi)容,下面話不多說了,來一起看看詳細的介紹吧
一、主庫線程狀態(tài)(State)值
以下列表顯示了主從復(fù)制中主服務(wù)器的Binlog Dump線程的State列中可能看到的最常見狀態(tài)(SHOW PROCESSLIST)。如果Binlog Dump線程在主服務(wù)器上看不到,這意味著復(fù)制沒有運行,也就是說,目前沒有連接任何Slave主機。
Sending binlog event to slave
二進制日志由各種事件組成,一個事件通常為一個更新加一些其它信息。線程已經(jīng)從二進制日志讀取了一個事件并且正將它發(fā)送到從服務(wù)器。
Finished reading one binlog; switching to next binlog
線程已經(jīng)讀完二進制日志文件并且正打開下一個要發(fā)送到從服務(wù)器的日志文件。
Has sent all binlog to slave; waiting for binlog to be updated
線程已經(jīng)從二進制日志讀取所有主要的更新并已經(jīng)發(fā)送到了從服務(wù)器。線程現(xiàn)在正空閑,等待由主服務(wù)器上新的更新導(dǎo)致的出現(xiàn)在二進制日志中的新事件。
Waiting to finalize termination
線程停止時發(fā)生的一個很簡單的狀態(tài)。
二、從庫I/O線程狀態(tài)(State)值
Connecting to master
線程正試圖連接主服務(wù)器。
Checking master version
建立同主服務(wù)器之間的連接后立即臨時出現(xiàn)的狀態(tài)。
Registering slave on master
建立同主服務(wù)器之間的連接后立即臨時出現(xiàn)的狀態(tài)。
Requesting binlog dump
建立同主服務(wù)器之間的連接后立即臨時出現(xiàn)的狀態(tài)。線程向主服務(wù)器發(fā)送一條請求,索取從請求的二進制日志文件名和位置開始的二進制日志的內(nèi)容。
Waiting to reconnect after a failed binlog dump request
如果二進制日志轉(zhuǎn)儲請求失敗(由于沒有連接),線程進入睡眠狀態(tài),然后定期嘗試重新連接??梢允褂猫Cmaster-connect-retry選項指定重試之間的間隔。
Reconnecting after a failed binlog dump request
線程正嘗試重新連接主服務(wù)器。
Waiting for master to send event
線程已經(jīng)連接上主服務(wù)器,正等待二進制日志事件到達。如果主服務(wù)器正空閑,會持續(xù)較長的時間。如果等待持續(xù)slave_read_timeout秒,則發(fā)生超時。此時,線程認為連接被中斷并企圖重新連接。
Queueing master event to the relay log
線程已經(jīng)讀取一個事件,正將它復(fù)制到中繼日志供SQL線程來處理。
Waiting to reconnect after a failed master event read
讀取時(由于沒有連接)出現(xiàn)錯誤,線程企圖重新連接前將睡眠master-connect-retry秒。
Reconnecting after a failed master event read
線程正嘗試重新連接主服務(wù)器,當連接重新建立后,狀態(tài)變?yōu)閃aiting for master to send event。
Waiting for the slave SQL thread to free enough relay log space
正使用一個非零relay_log_space_limit值,中繼日志已經(jīng)增長到其組合大小超過該值。I/O線程正等待直到SQL線程處理中繼日志內(nèi)容并刪除部分中繼日志文件來釋放足夠的空間。
Waiting for slave mutex on exit
線程停止時發(fā)生的一個很簡單的狀態(tài)。
三、從庫SQL線程狀態(tài)(State)值
Reading event from the relay log
線程已經(jīng)從中繼日志讀取一個事件,可以對事件進行處理了。
Has read all relay log; waiting for the slave I/O thread to update it
線程已經(jīng)處理了中繼日志文件中的所有事件,現(xiàn)在正等待I/O線程將新事件寫入中繼日志。
Waiting for slave mutex on exit
線程停止時發(fā)生的一個很簡單的狀態(tài)。
四、從庫連接線程狀態(tài)(State)值
這些線程狀態(tài)發(fā)生在復(fù)制從庫上,但與連接線程相關(guān)聯(lián),而不與I/O或SQL線程相關(guān)聯(lián)。
Changing master
線程正在處理CHANGE MASTER TO語句。
Killing slave
線程正在處理STOP SLAVE語句。
Opening master dump table
此狀態(tài)發(fā)生在Creating table from master dump之后。
Reading master dump table data
此狀態(tài)發(fā)生在Opening master dump table之后。
Rebuilding the index on master dump table
此狀態(tài)發(fā)生在Reading master dump table data之后。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。