《MYSQL數據庫深入mysql主從復制延遲問題的詳解》要點:
本文介紹了MYSQL數據庫深入mysql主從復制延遲問題的詳解,希望對您有用。如果有疑問,可以聯系我們。
面試mysqldba的時候遇到一個題:MYSQL實例
描述msyql replication 機制的實現原理,如何在不停掉mysql主庫的情況下,恢復數據不一致的slave的數據庫節點?MYSQL實例
MySQL的復制(replication)是一個異步的復制,從一個MySQL instace(稱之為Master)復制到另一個MySQL instance(稱之Slave).實現整個復制操作主要由三個進程完成的,其中兩個進程在Slave(Sql進程和IO進程),另外一個進程在Master(IO進程)上.MYSQL實例
引用新浪某位大牛的話:mysql復制就是一句話:基于binlog的單線程異步復制過程.
MySQL Replication復制的基本過程如下:
1、Slave上面的IO進程連接上Master,并請求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內容;
MYSQL實例
3、Slave的IO進程接收到信息后,將接收到的日志內容依次添加到Slave端的relay-log文件的最末端,并將讀取到的Master端的bin-log的文件名和位置記錄到master-info文件中,以便在下一次讀取的時候能夠清楚的高速Master“我需要從某個bin-log的哪個位置開始往后的日志內容,請發給我”;MYSQL實例
4、Slave的Sql進程檢測到relay-log中新增加了內容后,會馬上解析relay-log的內容成為在Master端真實執行時候的那些可執行的內容,并在自身執行MYSQL實例
操作過程:
(1)登陸主服務器,查看主服務器的狀態
mysql>show master status;
找到現階段master的數據偏移量的值.MYSQL實例
(2)登陸從服務器,執行同步操作.
mysql>stop slave;
mysql > change master to 直接定位到這個值得位置; 這里也就相當于給slave指明了相應的位置.
mysql > start slave;MYSQL實例
(3)從服務器上查看狀態
mysql > show slave status
MYSQL實例
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/5229.html