共計 2128 個字符,預計需要花費 6 分鐘才能閱讀完成。
這篇文章主要介紹“MySQL 主線程狀態舉例分析”,在日常操作中,相信很多人在 MySQL 主線程狀態舉例分析問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL 主線程狀態舉例分析”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
復制主線程狀態
下面列出了主服務器的 Binlog Dump 線程的 State 列的最常見的狀態。如果你沒有在主服務器上看見任何 Binlog Dump 線程,這說明復制沒有在運行—即,目前沒有連接任何從服務器。
· Sending binlog event to slave
二進制日志由各種事件組成,一個事件通常為一個更新加一些其它信息。線程已經從二進制日志讀取了一個事件并且正將它發送到從服務器。
· Finished reading one binlog; switching to next binlog
線程已經讀完二進制日志文件并且正打開下一個要發送到從服務器的日志文件。
· Has sent all binlog to slave; waiting for binlog to be updated
線程已經從二進制日志讀取所有主要的更新并已經發送到了從服務器。線程現在正空閑,等待由主服務器上新的更新導致的出現在二進制日志中的新事件。
· Waiting to finalize termination
線程停止時發生的一個很簡單的狀態。
復制從 I / O 線程狀態
下面列出了從服務器的 I / O 線程的 State 列的最常見的狀態。該狀態也出現在 Slave_IO_State 列,由 SHOW SLAVE STATUS 顯示。這說明你可以只通過該語句仔細瀏覽所發生的事情。
· Connecting to master
線程正試圖連接主服務器。
· Checking master version
建立同主服務器之間的連接后立即臨時出現的狀態。
· Registering slave on master
建立同主服務器之間的連接后立即臨時出現的狀態。
· Requesting binlog dump
建立同主服務器之間的連接后立即臨時出現的狀態。線程向主服務器發送一條請求,索取從請求的二進制日志文件名和位置開始的二進制日志的內容。
· Waiting to reconnect after a failed binlog dump request
如果二進制日志轉儲請求失敗(由于沒有連接),線程進入睡眠狀態,然后定期嘗試重新連接。可以使用 –master-connect-retry 選項指定重試之間的間隔。
· Reconnecting after a failed binlog dump request
線程正嘗試重新連接主服務器。
· Waiting for master to send event
線程已經連接上主服務器,正等待二進制日志事件到達。如果主服務器正空閑,會持續較長的時間。如果等待持續 slave_read_timeout 秒,則發生超時。此時,線程認為連接被中斷并企圖重新連接。
· Queueing master event to the relay log
線程已經讀取一個事件,正將它復制到中繼日志供 SQL 線程來處理。
· Waiting to reconnect after a failed master event read
讀取時 (由于沒有連接) 出現錯誤。線程企圖重新連接前將睡眠 master-connect-retry 秒。
· Reconnecting after a failed master event read
線程正嘗試重新連接主服務器。當連接重新建立后,狀態變為 Waiting for master to send event。
· Waiting for the slave SQL thread to free enough relay log space
正使用一個非零 relay_log_space_limit 值,中繼日志已經增長到其組合大小超過該值。I/ O 線程正等待直到 SQL 線程處理中繼日志內容并刪除部分中繼日志文件來釋放足夠的空間。
· Waiting for slave mutex on exit
線程停止時發生的一個很簡單的狀態。
復制從 SQL 線程狀態
下面列出了從服務器的 SQL 線程的 State 列的最常見的狀態。
· Reading event from the relay log
線程已經從中繼日志讀取一個事件,可以對事件進行處理了。
· Has read all relay log; waiting for the slave I/O thread to update it
線程已經處理了中繼日志文件中的所有事件,現在正等待 I / O 線程將新事件寫入中繼日志。
· Waiting for slave mutex on exit
線程停止時發生的一個很簡單的狀態。
I/ O 線程的 State 列也可以顯示語句的文本。這說明線程已經從中繼日志讀取了一個事件,從中提取了語句,并且正在執行語句。
到此,關于“MySQL 主線程狀態舉例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!