深刻mysql主從復制延遲成績的詳解。本站提示廣大學習愛好者:(深刻mysql主從復制延遲成績的詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻mysql主從復制延遲成績的詳解正文
面試mysqldba的時刻碰到一個題:
描寫msyql replication 機制的完成道理,若何在一直失落mysql主庫的情形下,恢單數據紛歧致的slave的數據庫節點?
MySQL的復制(replication)是一個異步的復制,從一個MySQL instace(稱之為Master)復制到另外一個MySQL instance(稱之Slave)。完成全部復制操作重要由三個過程完成的,個中兩個過程在Slave(Sql過程和IO過程),別的一個過程在Master(IO過程)上。
援用新浪某位年夜牛的話:mysql復制就是一句話:基於binlog的單線程異步復制進程。
MySQL Replication復制的根本進程以下:
1、Slave下面的IO過程銜接上Master,並要求從指定日記文件的指定地位(或許從最開端的日記)以後的日記內容;
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;
2、Master吸收到來自Slave的IO過程的要求後,經由過程擔任復制的IO過程依據要求信息讀取制訂日記指定地位以後的日記信息,前往給Slave的IO過程。前往信息中除日記所包括的信息以外,還包含本次前往的信息曾經到Master真個bin-log文件的稱號和bin-log的地位;
3、Slave的IO過程吸收到信息後,將吸收到的日記內容順次添加到Slave真個relay-log文件的最末尾,並將讀取到的Master真個bin-log的文件名和地位記載到master-info文件中,以便鄙人一次讀取的時刻可以或許清晰的高速Master“我須要從某個bin-log的哪一個地位開端往後的日記內容,請發給我”;
4、Slave的Sql過程檢測到relay-log中新增長了內容後,會立時解析relay-log的內容成為在Master端真實履行時刻的那些可履行的內容,並在本身履行
操作進程:
(1)上岸主辦事器,檢查主辦事器的狀況
mysql>show master status;
找到現階段master的數據偏移量的值。
(2)上岸從辦事器,履行同步操作。
mysql>stop slave;
mysql > change master to 直接定位到這個值得地位; 這裡也就相當於給slave指清楚明了響應的地位。
mysql > start slave;
(3)從辦事器上檢查狀況
mysql > show slave status