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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Mysql实现主从复制(一主双从)

發布時間:2023/12/4 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql实现主从复制(一主双从) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、環境介紹

LNMP(centos7,mysql5.6)

vmware workstation pro配置了3個虛擬機,均安裝了LNMP環境:

master:? 192.168.0.105? ? ? ?

slave:? ? ?192.168.0.106?、192.168.0.107

?

二、原理

(1)主數據庫進行增刪改操作后,相應操作記錄的語句(比如 create database test)會記錄到binlog日志文件中(binlog日志文件一般和數據庫data文件夾在一起)。

(2)從數據庫會請求主數據庫的binlog日志文件,獲取到新的操作語句,然后在自己的從數據庫上自動執行相同的操作語句,進而實現主從的同步。
?

注:這里,我們所需要配置的只是主從環境以及開啟binlog日志,其他的mysql會自動完成。

使用場景:http://baijiahao.baidu.com/s?id=1598186201849829616&wfr=spider&for=pc

?

三、詳細主從復制過程

(1)Master開啟bin-log功能,binlog日志文件用于記錄數據庫的增刪改操作。

(2)需要開啟三個線程,Master:I/O線程;Slave:I/O線程,SQL線程。

(3)Slave start;通過I/O線程連接Master,并且請求某個bin-log,position之后的內容。

(4)Master服務器收到Slave I/O線程發過來的日志請求信息,然后Master I/O線程將bin-log內容、position返回給Slave IO線程。

(5)Slave服務器收到bin-log日志內容,將bin-log日志內容寫入到relay-log中繼日志,創建一個master.info文件,該文件記錄master IP、用戶名、密碼、master bin-log名稱、bin-log position。
?

(6)Slave已經開啟了sql線程,由sql線程實時監測relay-log日志內容是否有更新,如果有更新,則解析文件中的sql語句,并在Slave數據庫中執行相同的操作語句。

注:可以通過show slave status \G? 來查看具體的中繼日志路徑以及連接的master的其他信息。

?

?

四、主從復制的實現

?

1、master機器上的配置

(1)vim /etc/my.cnf? ?#修改mysql的配置文件

(2)配置bind-address (配置成master-ip)和 server-id (改成ip后三位即可,也可以改為其他,比如5)以及開啟bin-log(默認是已經開啟),如下:

bind-address = 0.0.0.0 server-id = 105

注:此處允許所有ip地址可以遠程登錄此mysql,出于安全考慮,可以配置防火墻規則進行mysql遠程登錄的ip的限制。

配置防火墻規則鏈接:https://blog.csdn.net/m_nanle_xiaobudiu/article/details/81070480

?

(3)創建用于slave機器獲取master機器上binlog文件的賬號(從機器復制用戶)

grant replication slave on *.* to 'xiaobudiu'@'%' identified by 'xiaobudiu123';

(4)?flush privileges;? #刷新數據庫

(5)show master status; #查看master狀態,并記錄下binlog日志文件名以及position

?

2、slave機器上的配置

(1)在兩臺從機器上分別配置mysql配置文件中的bind-address 和 server-id

192.168.0.106機器上:

bind-address = 0.0.0.0 server-id = 106

192.168.0.107機器上:

bind-address = 0.0.0.0 server-id = 107

(2)分別在兩臺從庫上操作

change master to master_host='192.168.0.105', master_port=3306, master_user='xiaobudiu', master_password='xiaobudiu123', master_log_file='mysql-bin.000045', master_log_pos=402;

(3)分別開啟兩臺從庫

(4)驗證從庫狀態

當從庫的 IO線程和SQL線程的狀態都是yes時,說明主從模式配置成功。

?

五、實現Mysql讀寫分離

https://blog.csdn.net/m_nanle_xiaobudiu/article/details/81048538

總結

以上是生活随笔為你收集整理的Mysql实现主从复制(一主双从)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。