首頁 > 軟體

MYSQL資料庫主從同步設定的實現步驟

2022-03-01 10:00:58

為什麼要主從同步?

1、讀寫分離

主從同步分為一個主機多個從機,可以設定主從機許可權。主機可以讀寫,從機只能讀。主機對資料的操作會複製到從機,主機的資料和從機的一致。這樣就可以實現讀寫分離,讀寫分離可以緩解伺服器壓力。網際網路的應用往往是“讀多寫少”的需求,採用讀寫分離的方式,可以實現更高的並行存取。

2、資料備份

我們通過主從複製將主庫上的資料複製到了從庫上,相當於是一種熱備份機制,也就是在主庫正常執行下進行備份,不會影響到服務。

3、高用性

具有高可用性。我剛才講的資料備份實際上是一種冗餘的機制,通過這種冗餘的方式可以換取資料庫的高可用性,也就是當伺服器出現故障或者宕機的情況下,可以切換到從伺服器上,讓從伺服器充當主伺服器,保證服務的正常執行。

主從同步的原理

主機每執行一個操作會在二進位制紀錄檔檔案中記錄。從機每隔一段時間就會對主機的紀錄檔檔案進行探測,如果發生改變,從機就會傳送一個IO請求,複製主機中的紀錄檔檔案進行同步操作,這樣從機就可以和主機同步。

MYSQL資料庫進行主從同步

建立兩個MYSQL資料庫

這裡建立了兩個資料庫,分別為3301和3302。3301作為主機,3302作為從機

主機3301的組態檔如下:

[mysqld] 
# 主機埠號
port=3308
# 伺服器標識,每個伺服器不能一樣
server_id=111
# 開啟紀錄檔檔案
log_bin=binlog 
# 普通使用者只能讀 OFF是關閉狀態
read_only=off 
# 超級使用者只能讀 OFF是關閉狀態
super_read_only=off

從機3302的組態檔如下:

[mysqld]
# 從機埠號
port=3309
# 伺服器標識
server_id=2
# 開啟紀錄檔檔案
log_bin=binlog
# 普通使用者只能讀 on是開啟狀態 
read_only=on 
# 超級使用者只能讀 on是開啟狀態 
super_read_only=on

初始化,安裝主機資料庫

初始化和安裝方法和平時設定資料庫一樣,不會的看這篇部落格:https://www.jb51.net/article/174987.htm

安裝好資料庫後進入主機:

進入主機資料庫,沒有密碼。

建立同步賬號,並授權

檢視主庫master

記住查詢出的結果,後面要用

設定從機

進入資料庫

複製主機的二進位制紀錄檔操作,其中 source_user是主機建立的同步賬戶賬號,source_password是賬號密碼,source_port主機埠號,source_log_file之前檢視主機master時File的資訊,source_log_pos是Position的資訊。

mysql>change replication source to source_host='127.0.0.1', source_user='repl', source_password='repl', source_port=3308,source_log_file='binlog.000006', source_log_pos=336;

啟動同步

mysql>start replica;

檢視IO執行緒和sql執行緒是否開啟

mysql>show slave status G

測試主從同步

主機當前的全部資料庫:

從機當前的全部資料庫:

主機建立一個新資料庫xxx:

從機檢視資料庫:

操作同步,完成

到此這篇關於MYSQL資料庫主從同步設定的實現步驟的文章就介紹到這了,更多相關MYSQL資料庫主從同步設定內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com