亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL數據庫的主從復制原理是什么

發布時間:2020-06-05 14:26:34 來源:億速云 閱讀:292 作者:Leah 欄目:編程語言

本文以MYSQL數據庫的主從復制為例,為大家分析MYSQL數據庫的主從復制的基本原理和相關配置,閱讀完整文相信大家對MYSQL數據庫的主從復制有了一定的認識。

一、基本原理

MySQL復制過程分成三步:

  • 1)、master將改變記錄到二進制日志(binary log)。這些記錄過程叫做二進制日志事件,binary log events
  • 2)、slave將master的binary log events拷貝到它的中繼日志(relay log);
  • 3)、slave重做中繼日志中的事件,將改變應用到自己的數據庫中。 MySQL復制是異步的且串行化的。

簡單來說: slave會從master讀取binlog來進行數據同步

MYSQL數據庫的主從復制原理是什么

MYSQL數據庫的主從復制原理是什么

Mysql的復制(replication)是一個異步的復制

實現整個復制操作主要由三個進程完成的,其中兩個進程在Slave(Sql進程和IO進程),另外一個進程在 Master(IO進程)上。

要實施復制,首先必須打開Master端的binary log(bin-log)功能,否則無法實現。

因為整個復制過程實際上就是Slave從Master端獲取該日志然后再在自己身上完全順序的執行日志中所記錄的各種操作。

復制的詳細過程:

(1)Slave上面的IO進程連接上Master,并請求從指定日志文件的指定位置(或者從最開始的日志)之后的日志內容;

(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端真實執行時候的那些可執行的內容,并在自身執行。

原則:

  • 每個slave只有一個master;
  • 每個slave只能有一個唯一的服務器ID;
  • 每個master可以有多個salve;

二、一主一從相關配置

演示主機為Windows (配置文件為my.ini文件),從機為Linux(配置文件為my.cnf

1、主機配置(windows的my.ini)

  • 1)、[必須]主服務器唯一ID;
  • 2)、[必須]啟用二進制日志;
    • log-bin=自己本地的路徑/data/mysqlbin
    • log-bin=D:/devSoft/MySQLServer5.5/data/mysqlbin
  • 3)、[可選]啟用錯誤日志
    • log-err=自己本地的路徑/data/mysqlerr
    • log-err=D:/devSoft/MySQLServer5.5/data/mysqlerr
  • 4)、[可選]根目錄
    • basedir="自己本地路徑"
    • basedir="D:/devSoft/MySQLServer5.5/"
  • 5)、[可選]臨時目錄
    • tmpdir="自己本地路徑"
    • tmpdir="D:/devSoft/MySQLServer5.5/"
  • 6)、[可選]數據目錄
    • datadir="自己本地路徑/Data/"
    • datadir="D:/devSoft/MySQLServer5.5/Data/"
  • 7)、[可選]設置不要復制的數據庫
    • binlog-ignore-db=mysql
  • 8)、[可選]設置需要復制的數據庫
    • binlog-do-db=需要復制的主數據庫名字

2、從機配置(linux的my.cnf)

  • [必須]從服務器唯一ID;
  • [可選]啟用二進制日志;

MYSQL數據庫的主從復制原理是什么

3、因修改過配置文件,請主機+從機都重啟后臺mysql服務

4、主從機都關閉linux防火墻

  • windows手動關閉;
  • 關閉虛擬機linux防火墻 service iptables stop

5、在Windows主機上建立帳戶并授權slave

  • GRANT REPLICATION SLAVE ON *.* TO 'zhangsan'@'從機器數據庫IP' IDENTIFIED BY '123456';
  • 刷新一下配置flush privileges;
  • 查詢master的狀態。
    • show master status;
    • 記錄下File和Position的值
  • 執行完此步驟后不要再操作主服務器MYSQL,防止主服務器狀態值變化。

MYSQL數據庫的主從復制原理是什么

MYSQL數據庫的主從復制原理是什么

6、在Linux從機上配置需要復制的主機

  • 配置
CHANGE MASTER TO MASTER_HOST='主機IP',MASTER_USER='zhangsan',MASTER_PASSWORD='123456',MASTER_LOG_FILE='File名字',MASTER_LOG_POS=Position數字;
  • 啟動從服務器復制功能,start slave;
  • 查看配置
    • 下面兩個參數都是Yes,則說明主從配置成功!
    • Slave_IO_Running: Yes
    • Slave_SQL_Running: Yes
CHANGE MASTER TO MASTER_HOST='192.168.124.3',
MASTER_USER='zhangsan',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysqlbin.具體數字',MASTER_LOG_POS=具體值;

MYSQL數據庫的主從復制原理是什么

MYSQL數據庫的主從復制原理是什么

7、主機鍵表,看從機有沒有

8、如何停止主從服務復制功能

linux下面輸入stop slave;

看完上述內容,你們對MYSQL數據庫的主從復制有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永新县| 海丰县| 徐闻县| 通江县| 阿拉善盟| 静海县| 葫芦岛市| 安平县| 自贡市| 寻乌县| 兰州市| 长宁区| 池州市| 天峻县| 通河县| 密山市| 武穴市| 黄平县| 临潭县| 桃园市| 印江| 滁州市| 奉化市| 邵阳县| 鹤庆县| 东兰县| 大余县| 锡林郭勒盟| 清流县| 涞源县| 阳东县| 桐庐县| 台中县| 南昌市| 米泉市| 南澳县| 久治县| 灌云县| 清镇市| 界首市| 北流市|