• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      MySQL主從架構的復制模式

      2017-11-08 10:39:08
      網絡安全和信息化 2017年12期
      關鍵詞:二進制中繼線程

      復制工作方式

      MySQL支持兩種復制方式:基于行的復制和基于語句的復制。這兩種方式的工作步驟:

      1.在主庫上把數據更改記錄到二進制日志(Binary Log)中。

      2.從庫將主庫上的日志復制到自己的中繼日志(Relay Log)中。

      3.從庫讀取中繼日志中的事件,將其重放到從庫數據之上。

      第一步,在主庫上記錄二進制日志。在每次準備提交事務完成數據更新前,主庫將數據更新的事件記錄到二進制日志中。MySQL會按事務提交的順序而非每條語句的執(zhí)行順序來記錄二進制日志。在記錄二進制日志后,主庫會告訴存儲引擎可以提交事務了。

      第二步,從庫將主庫的二進制日志復制到其本地的中繼日志中。首先,從庫會啟動一個工作線程,成為I/O線程,I/O線程跟主庫建立一個普通的客戶端連接。

      然后在主庫上啟動一個特殊的二進制轉儲(binlog dump)線程(該線程沒有對應的SQL命令),這個二進制轉儲線程會讀取主庫上二進制日志中的事件。

      它不會對事件進行輪詢。如果該線程追趕上了主庫,它將進入睡眠狀態(tài),直到主庫發(fā)送信號通知其有新的事件產生時才會被喚醒,從庫I/O線程會將接收到的事件記錄到中繼日志中。

      從庫的SQL線程執(zhí)行最后一步,該線程從中繼日志中讀取事件并在從庫執(zhí)行,從而實現(xiàn)從庫數據的更新。當SQL線程追趕上I/O線程時,中繼日志通常已經在系統(tǒng)緩存中,所以中繼日志的開銷很低。SQL線程執(zhí)行的事件也可以通過配置選項來決定是否寫入其自己的二進制日志中。

      配置復制

      1.創(chuàng)建復制賬號

      MySQL會賦予特殊權限給復制進程。在從庫運行I/O線程會建立一個到主庫的TCP/IP連接,這意味著必須在主庫創(chuàng)建一個用戶,并賦予其合適的權限。從庫I/O線程以該用戶名連接到主庫并讀取其二進制日志。

      通過如下語句創(chuàng)建用戶賬號:

      mysql>GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.*

      ->TO repl@'192.168.0.%' IDENTIFIED BY'123456',;

      在主庫和從庫都創(chuàng)建該賬號。我們把這個賬號限制在本地網絡,因為這是一個特權賬號。

      2.配置主庫和從庫

      下一步需要在主庫上開啟一些設置,假設主庫是服務器server1,需要打開二進制日志并指定一個獨一無二的服務器ID(server ID),在主庫的 my.cnf文件中增加或修改如下內容:

      必須明確的指定一個唯一的服務器ID,默認服務器ID通常為1,使用默認值可能會導致和其他服務器ID沖突,因此這里我們選擇10來作為服務器ID。

      如果之前沒有在MySQL的配置文件中指定logbin選項,就需要重新啟動MySQL.為了確認二進制日志文件是否已經在主庫上創(chuàng)建,使用SHOW MASTER STATUS命令,檢查輸入是否與如下的一致,如圖1所示。

      從庫上也需要在my.cnf中增加類似的配置,并且同樣需要重啟服務器。

      圖1 使用SHOW MASTER STATUS命令

      圖2 SHOW SLAVE STATUS命令

      3.啟動復制

      下一步是告訴從庫如何連接到主庫并重放其二進制日志。這一步不要通過修改my.cnf來配置,而是使用CHANGE MASTER TO語句,該語句完全替代了my.cnf中相應的設置,并且允許以后指向別的主庫時無需重啟從庫。下面是開始復制的基本命令:

      MASTER_LOG_POS參數設置為0,因為要從日志的開頭讀起。運行下面的命令開始復制:

      執(zhí)行該命令沒有顯示錯誤,我們可用SHOW SLAVE STATUS命令來檢查復制是否正確執(zhí)行,如圖2所示。

      在這里主要是看:

      Slave的I/O和SQL線程都已經開始運行,而且Seconds_Behind_Master不再是NULL。日志的位置增加了,意味著一些事件被獲取并執(zhí)行了。如果你在主庫上進行修改,你可以在從庫上看到各種日志文件的位置的變化,同樣,你也可以看到數據庫中數據的變化。

      現(xiàn)在MySQL的主從架構的復制模式已經配置成功了,數據庫的承載能力得到進一步提升。

      猜你喜歡
      二進制中繼線程
      用二進制解一道高中數學聯(lián)賽數論題
      中等數學(2021年8期)2021-11-22 07:53:38
      有趣的進度
      二進制在競賽題中的應用
      中等數學(2019年4期)2019-08-30 03:51:44
      面向5G的緩存輔助多天線中繼策略
      電信科學(2017年6期)2017-07-01 15:44:35
      淺談linux多線程協(xié)作
      中繼測控鏈路動態(tài)分析與計算方法研究
      航天器工程(2015年3期)2015-10-28 03:35:28
      Nakagami-m衰落下AF部分中繼選擇系統(tǒng)性能研究
      Linux線程實現(xiàn)技術研究
      一種新型多協(xié)作中繼選擇協(xié)議研究
      一個生成組合的新算法
      平远县| 罗山县| 乌鲁木齐市| 耒阳市| 淮阳县| 河西区| 平和县| 双江| 明星| 永靖县| 印江| 姜堰市| 新巴尔虎右旗| 余干县| 崇礼县| 聂拉木县| 清苑县| 万载县| 铜陵市| 德保县| 温州市| 平顶山市| 万安县| 云浮市| 洪江市| 临江市| 博湖县| 本溪市| 关岭| 北票市| 武平县| 桐柏县| 娄底市| 建水县| 耒阳市| 乌鲁木齐县| 安西县| 甘孜| 公安县| 阿巴嘎旗| 云林县|