搭建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資料庫互為主從,都可進行寫入,讀取,實現了資料庫的高可用