運行的細節
運行(這個感覺好像是大陸人的用法..怪怪的說)
MySQL 是利用三個MySQL 的Thread 來實做 MySQL Replication
(Master Thread,Slave I/O Thread 及 Salve SQL Thread)
你可以在 MySQL 下Command :show processlist
可以在Master或Slave 上看到 相對應的Thread
Master Thread:
這是顯示BinLog Dump 的狀態,基本上MySQL 所有的動作
都會紀錄在BinaryLog裡面,
Replication 的實做就是利用這一個機制 把 Binary log 裡面
的東西送到Slave上去來實現Master&Slave兩台機器的內容同步
,所以在 Master MySQL上,這一個Master Thread就是在做
Binary Log 的Dump 的事情
他有四種狀態:
「sending binlog event to slave」,
「Finished reading one binlog;switch to next binlog」
「Has sent all binlog ti salve;waiting for binlog to be update」
「waiting to finalize termination」
Slave I/O Thread:
這一個Thread 是用來傳送 Master MySQL Dump 的資料到
Slave MySQL 會產生一個 RelayLog 並且這一個Thread
會顯示Slave 上有關Master & slave 連線傳送的狀態
(但是,哇咧有12個咧.... 英文好的看看就懂了啦...就不寫了)
Slave SQL Thread:
這一個Thread 是用來吧 Slave I/O 收到的 binary log
(relayLog) 寫到資料庫裡面他的狀態有三個
「Reading event from the Relay log」
「Has read all relay log;waiting for the Salve I/O thread
to update it(注意唷這裡指的是 Relay log唷) 」
「waiting for Slave mutex on exit」