国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

深入mysql主從復制延遲問題的詳解

2024-07-24 13:01:58
字體:
來源:轉載
供稿:網友

面試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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 句容市| 定州市| 富平县| 潢川县| 旺苍县| 江孜县| 于都县| 合川市| 北宁市| 大埔县| 海原县| 清流县| 屏南县| 永修县| 陵水| 万源市| 舒城县| 建昌县| 大城县| 建水县| 仁寿县| 富阳市| 商丘市| 攀枝花市| 湖州市| 上蔡县| 新野县| 闸北区| 浮梁县| 沁源县| 福海县| 丰台区| 阜新| 千阳县| 武冈市| 杭州市| 磐石市| 修武县| 高尔夫| 湘西| 长寿区|