日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 取消主从复制_MySQL:第一次看到有人把MySQL主从复制讲解的这么清楚

發(fā)布時間:2025/3/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 取消主从复制_MySQL:第一次看到有人把MySQL主从复制讲解的这么清楚 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、基本原理

MySQL復(fù)制過程分成三步:

1)、master將改變記錄到二進(jìn)制日志(binary log)。這些記錄過程叫做二進(jìn)制日志事件,binary log events;

2)、slave將master的binary log events拷貝到它的中繼日志(relay log);

3)、slave重做中繼日志中的事件,將改變應(yīng)用到自己的數(shù)據(jù)庫中。 MySQL復(fù)制是異步的且串行化的。

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

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

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

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

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

復(fù)制的詳細(xì)過程:

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

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

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

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

原則:

每個slave只有一個master;

每個slave只能有一個唯一的服務(wù)器ID;

每個master可以有多個salve;

二、一主一從相關(guān)配置

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

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

1)、[必須]主服務(wù)器唯一ID;

2)、[必須]啟用二進(jìn)制日志;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è)置不要復(fù)制的數(shù)據(jù)庫binlog-ignore-db=mysql。

8)、[可選]設(shè)置需要復(fù)制的數(shù)據(jù)庫binlog-do-db=需要復(fù)制的主數(shù)據(jù)庫名字。

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

[必須]從服務(wù)器唯一ID;

[可選]啟用二進(jìn)制日志;

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

4、主從機(jī)都關(guān)閉linux防火墻

windows手動關(guān)閉;

關(guān)閉虛擬機(jī)linux防火墻 service iptables stop;

5、在Windows主機(jī)上建立帳戶并授權(quán)slave

GRANT REPLICATION SLAVE ON *.* TO 'zhangsan'@'從機(jī)器數(shù)據(jù)庫IP' IDENTIFIED BY '123456';。

刷新一下配置flush privileges;。

查詢master的狀態(tài)。show master status;記錄下File和Position的值;

執(zhí)行完此步驟后不要再操作主服務(wù)器MYSQL,防止主服務(wù)器狀態(tài)值變化。

6、在Linux從機(jī)上配置需要復(fù)制的主機(jī)

配置

CHANGE?MASTER?TO?MASTER_HOST='主機(jī)IP',MASTER_USER='zhangsan',MASTER_PASSWORD='123456',MASTER_LOG_FILE='File名字',MASTER_LOG_POS=Position數(shù)字;

啟動從服務(wù)器復(fù)制功能,start slave;。

查看配置下面兩個參數(shù)都是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.具體數(shù)字',MASTER_LOG_POS=具體值;

7、主機(jī)鍵表,看從機(jī)有沒有

8、如何停止主從服務(wù)復(fù)制功能

在linux下面輸入stop slave;。

【編輯推薦】

【責(zé)任編輯:龐桂玉 TEL:(010)68476606】

點贊 0

總結(jié)

以上是生活随笔為你收集整理的mysql 取消主从复制_MySQL:第一次看到有人把MySQL主从复制讲解的这么清楚的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。