偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MySQL:第一次看到有人把MySQL主從復制講解的這么清楚

數(shù)據(jù)庫 MySQL
MySQL的復制(replication)是一個異步的復制。實現(xiàn)整個復制操作主要由三個進程完成的,其中兩個進程在Slave(Sql進程和IO進程),另外一個進程在 Master(IO進程)上。要實施復制,首先必須打開Master端的binary log(bin-log)功能,否則無法實現(xiàn)。

一、基本原理

MySQL復制過程分成三步:

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

簡單來說: slave會從master讀取binlog來進行數(shù)據(jù)同步

 

 

MySQL的復制(replication)是一個異步的復制。

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

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

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

復制的詳細過程:

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

(2)Master接收到來自Slave的IO進程的請求后,通過負責復制的IO進程根據(jù)請求信息讀取制定日志指定位置之后的日志信息,返回給Slave 的IO進程。返回信息中除了日志所包含的信息之外,還包括本次返回的信息已經(jīng)到Master端的bin-log文件的名稱以及bin-log的位置;

(3)Slave的IO進程接收到信息后,將接收到的日志內(nèi)容依次添加到Slave端的relay-log文件的最末端,并將讀取到的Master端的 bin-log的文件名和位置記錄到master-info文件中,以便在下一次讀取的時候能夠清楚的高速Master“我需要從某個bin-log的哪個位置開始往后的日志內(nèi)容,請發(fā)給我”;

(4)Slave的Sql進程檢測到relay-log中新增加了內(nèi)容后,會馬上解析relay-log的內(nèi)容成為在Master端真實執(zhí)行時候的那些可執(zhí)行的內(nèi)容,并在自身執(zhí)行。

原則:

  • 每個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)、[可選]數(shù)據(jù)目錄datadir="自己本地路徑/Data/"。datadir="D:/devSoft/MySQLServer5.5/Data/"。
  • 7)、[可選]設置不要復制的數(shù)據(jù)庫binlog-ignore-db=mysql。
  • 8)、[可選]設置需要復制的數(shù)據(jù)庫binlog-do-db=需要復制的主數(shù)據(jù)庫名字。

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

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

 

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

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

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

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

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

 

 

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

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

 

 

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

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

在linux下面輸入stop slave;。 

 

 

 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2023-02-27 07:33:14

MySQL數(shù)據(jù)庫服務器

2018-08-14 09:28:40

分布式事務 ACID

2023-09-24 14:32:15

2024-03-01 18:33:59

MySQL節(jié)點數(shù)據(jù)

2021-06-08 07:48:27

MySQL主從配置

2011-07-21 21:01:37

諾基亞塞班蘋果

2025-02-10 10:55:16

2024-07-04 08:00:24

2023-05-11 08:08:18

MySQL主從復制

2011-04-06 09:59:00

MySQL數(shù)據(jù)庫主從復制

2025-01-15 15:47:36

2017-10-11 15:40:20

MySQL主從復制拓撲結構

2017-09-05 16:00:49

MySQL主從復制備份

2017-03-22 15:38:28

代碼架構Java

2014-05-19 10:16:56

WinJS開源TypeScript

2022-12-20 08:46:41

MySQL主從復制

2022-03-16 14:59:28

打包debian模板文件

2012-04-13 10:11:58

Windows 8泄露

2021-01-12 09:03:17

MySQL復制半同步

2017-06-23 22:00:13

MySqlsslcentos
點贊
收藏

51CTO技術棧公眾號