1. 程式人生 > >搭建MySql資料庫的主從及實現雙機熱備(資料庫的高可用)

搭建MySql資料庫的主從及實現雙機熱備(資料庫的高可用)

1. 用的CentOS7,因為CentOS7自帶mariadb,所以首先解除安裝mariadb.不解除安裝安裝mysql會有衝突,以前安裝過mysql也要解除安裝

2. 解除安裝mariadb              

      執行命令(會列出所有的mariadb)

rpm -qa | grep mariadb

      執行命令刪除所有的mariadb

yum -y remove mariadb*

3.安裝mysql   執行下載mysql的yum源命令

wget -P /home/lisonglin http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

   安裝yum源

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

    安裝mysql

yum install mysql-community-server

      啟動mysql

systemctl start mysqld

4.一樣的操作,安裝第二臺mysql       

5.實現主從複製(最好兩個資料的資料一致,不然會出問題,先實現主從,後實現雙機熱備)

   這是原理圖,配置完成後,資料會寫入二進位制日誌,然後通過IO執行緒寫到另一臺機器的中繼日誌,最後通過sql執行緒,寫到資料庫

    進入mysql的配置檔案

vim /etc/my.cnf

   (按i進入編輯模式,esc退出編輯模式,:wq儲存編輯並退出)

   在主庫中的配置檔案中新增這兩行

    改完後重啟mysql,在mysql安裝目錄會多出兩個檔案

6.以同樣的方式配置從庫  server-id的值不能和主庫一樣!!!!

7.開始搭建主從

     先檢視主庫狀態(這是在主庫操作)

SHOW MASTER STATUS

 

  查詢出來的file 和  Position  後邊要用到

  然後在從庫操作

   第一步:(搭建主從同步)

SHOW MASTER STATUS;

   第二步:

CHANGE MASTER to MASTER_HOST="192.168.126.137",#你主庫的ip
MASTER_PORT=3306,MASTER_user="root",#你主庫使用者名稱密碼
MASTER_PASSWORD="root",
#主庫執行show master status查詢出來的File  和Position
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=154

  第三步:(開啟主從服務)

start slave

 第四步:(檢測執行緒是否啟用)

show slave status

  兩都是Yes,表示配置主從成功

  OK主從配置完成

  在主庫新建一個數據庫,建幾張表,看看有沒有同步到從庫,同步就OK了(不要在從庫新增)

8.實現雙機熱備

    把搭建主從的流程在反過來執行一遍就可以了

     在從庫執行(檢視從庫狀態)

SHOW MASTER STATUS

   在主庫配置

   第一步:

show MASTER STATUS;

  第二步:

CHANGE MASTER to MASTER_HOST="192.168.126.138",#你從庫的ip
MASTER_PORT=3306,MASTER_user="root",#你從庫使用者名稱密碼
MASTER_PASSWORD="root",
#從庫執行show master status查詢出來的File  和Position
MASTER_LOG_FILE="mysql-bin.000002",
MASTER_LOG_POS=154

  第三步:

start slave

  第四步:

show slave status

OK,雙機熱備搭建完成.兩個mysql資料庫互為主從,都可進行寫入,讀取,實現了資料庫的高可用