首頁 > 軟體

Linux系統下MySQL設定主從分離的步驟

2022-03-21 13:03:20
主伺服器192.168.176.110
從伺服器192.168.176.120

主資料庫操作(ip:192.168.176.110)

設定MySQL主伺服器的組態檔

[root@localhost ~]# vi /etc/my.cnf

在my.cnf內加上如下設定

server-id = 1 #保證唯一性
log-bin = mysql-bin #主從服務的核心 定義binblog紀錄檔的字首名 
#binlog-do-db=test #需要同步的資料庫,如果沒有本行,即表示同步所有的資料庫 
#binlog-do-db=mydb #需要同步的資料庫,同時同步test、mydb庫 、
#binlog-ignore-db=mysql #被忽略的資料庫

重啟MySQL主伺服器

[root@localhost ~]# service mysqld restart

登入MySQL

[root@localhost ~]# mysql -uroot -p123456 

檢視資料庫狀態

需要記住File列和Position列的資料,設定從伺服器需要使用

mysql> show master status;

主資料庫操作(ip:192.168.176.120)

設定MySQL從伺服器的組態檔

[root@localhost ~]# vi /etc/my.cnf

在my.cnf內加上如下設定

server-id = 2 #保證唯一性

重啟MySQL主伺服器

[root@localhost ~]# service mysqld restart

登入MySQL

[root@localhost ~]# mysql -uroot -p123456 

設定同步主伺服器:

master_host主伺服器地址

master_port主伺服器埠

master_user主伺服器使用者名稱

master_password主伺服器密碼

master_log_file 對應上圖的主伺服器File列資料

master_log_pos對應上圖的主伺服器Position列資料

mysql> change master to master_host='192.168.176.110',master_port=3306,master_user='root',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=157;

開啟服務,並檢視服務狀態

mysql> start slave;  #開啟從服務
mysql> show slave statusG; #檢視從服務狀態

設定成功

設定出錯

注意:設定主從同步,出現Slave_IO_Running: No 情況處理方式(複製同一套環境出現的問題)

如果出現上圖的錯誤,說明兩臺虛擬機器器的MySQL環境的UUID一致。 可以通過命令檢測他們的UUID。

[root@localhost ~]# cat /var/lib/mysql/auto.cnf

如果命令無效 則進入到MySQL,執行以下命令獲取安裝的路徑

mysql> show variables like 'datadir';

然後從伺服器生成一個新的UUID

mysql> select uuid();

複製後 通過命令去修改裡面的UUID(路徑為自己mysql安裝路徑)

[root@localhost ~]# vi /var/lib/mysql/auto.cnf

最後重啟下mysql服務

[root@localhost ~]# service mysqld restart

執行完後重新的去執行【設定同步主伺服器】的步驟,設定引數和主伺服器相同的即可

以上是設定主從同步,出現Slave_IO_Running: No 情況處理方式

主伺服器建立資料庫

主庫宕機處理方式

1-確保所有的relay log全部更新完畢,在每個從庫上執行show processlist

2-更新完畢後,登入所有從庫檢視master.info檔案,對比選擇pos最大的作為新的主庫,

3-然後登入這個新的主庫,執行stop slave;進入主目錄,刪除master.Info和relay-log.info設定my.cnf檔案開啟log-bin檔案

4-建立用於同步的使用者並授權slave

5-登入另外一臺從庫,執行stop slave停止同步

6-執行start slave

7-修改新的master資料,測試slave是否同步更新

從庫宕機

1-檢視從庫上mysql的錯誤紀錄檔,裡面有記錄主從掛掉時的binlog資訊。

2-有了binlog和postion資訊後,只需要重新在從庫上進行change master to設定即可。設定後開啟slave狀態,沒有報錯

3-檢視slave狀態,發現slave已經正常了,開始進行延時資料恢復。

總結

到此這篇關於Linux系統下MySQL設定主從分離的文章就介紹到這了,更多相關MySQL設定主從分離內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


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