搭建Mysql主從同步服務

Mysql主從同步搭建

mysql主從同步利用binlog日誌中記錄的sql語句實現數據同步,進而實現自動備份數據的目的。

在搭建mysql主從同步時,要求一臺服務器做master即主服務器,一臺服務器做slave即從服務器,slave服務器從master服務器上同步binlog日誌中記錄的sql語句,在本地數據庫中執行這些語句來實現數據庫同步的目的。

注意,在搭建mysql主從同步服務時,slave上的數據庫必須與master服務器上的數據庫中的庫和表完全相同,即有同樣的庫,表且表結構完全相同。

本文使用兩臺RHEL5.9操作系統的虛擬機來完成實驗,其中,master服務器IP地址爲192.168.1.253slave服務器的IP地址爲192.168.1.252

實驗步驟:

1、在兩臺服務器上配置靜態IP地址並確保物理網絡連接正常

2、配置master服務器

(1)yum方式安裝mysqlmysql-server軟件包

wKiom1Ppus6iGF48AAA8BPPv8zc438.jpg 

(2)修改mysql服務的配置文件

[root@localhost ~]# vim /etc/my.cnf//mysql服務配置文件

wKioL1PpvCvT8O0GAAE9ZUZDiFI368.jpg

(3)啓動mysqld服務並設置開機自啓動

wKiom1PpuyCS7BlIAAB1qr78yOA466.jpg 

(4)本地登錄mysql數據庫,向slave授權並查看當前使用的binlog日誌與偏移量

[root@localhost ~]# mysql -uroot//使用root用戶名本地登錄數據庫

授權:

wKioL1PpvEnxidPsAADqG3pSR1o823.jpg 

查看master狀態:

wKioL1PpvFiQjEhfAADZ-fLI0Yw158.jpg 

3、配置slave服務器

(1)yum方式安裝mysqlmysql-server軟件包

(2)修改mysql服務的配置文件、啓動mysqld服務並設置開機自啓

[root@slave ~]# vim /etc/my.cnf

wKioL1PpvGPT5r62AAFg38O5PbY544.jpg 

wKioL1PpvHXTBYLbAAB-xhUhW2w653.jpg 

(3)本地登錄mysql數據庫,指定從服務器的主服務器並開啓slave功能

wKiom1Ppu2nwTDIDAADd2kHhpl8783.jpg 

 change master to

    -> master_host='192.168.1.253',//指定主服務器地址

    -> master_user='slaveuser',//指定同步時使用的用戶名

    -> master_password='123',//指定同步時使用的密碼

    -> master_log_file='mysqld-bin.00000.1',//指定當前的主服務器使用的binlog日誌

-> master_log_pos=98;//指定當前主服務器上的位偏移量

wKioL1PpvJLCfQRDAABRUKmJnc4193.jpg 

(4)查看slave功能是否正常工作

wKiom1Ppu4bjYsx9AAIsQ_DKuM4589.jpg 

4、測試

master服務器上新建一個庫zhy

wKiom1Ppu5jxnv6WAADa7bHsnSE940.jpg 

slave服務器上查看數據庫,同樣出現zhy數據庫:

wKiom1Ppu6bxolEdAACFFASrqtI554.jpg 

至此,Mysql主從同步搭建完成且可以正常工作,但其中有幾點需要注意:

1、設置slave服務器時在指定其主服務器時要在每個項目後面加逗號分隔

2、如需更改slave服務器的主服務器的設置需要先停止slave服務,然後再更改,使用命令stop slave可以停止slave服務

3、只有Slave_IO_RunningSlave_SQL_Running兩個進程的狀態全爲Yse時才表明slave服務正常工作,否則都表示其工作異常。

4、Slave_IO_Running進程狀態爲NO的原因:

(1)連接不上主數據庫服務器(物理線路,安全設置問題,授權問題)

(2)當前binlog日誌名和pos點和主服務器的不一致

5、Slave_SQL_Running進程狀態爲NO的原因:從服務器本機沒有主數據庫上的庫和表或者表結構不一致。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章