1. 程式人生 > >騰訊雲伺服器與虛擬機器搭建主從分離資料庫

騰訊雲伺服器與虛擬機器搭建主從分離資料庫

測試環境

主資料庫: CentOS7, MySQL15.1 , 騰訊雲伺服器外網IP

從資料庫: CentOS7, MySQL15.1 , 虛擬機器IP(無關緊要)

首先安裝好mysql 我之前安裝的lnmp 所以挺多指令都挺簡單的

lnmp可以去百度安裝 我這裡就不做說明了

先配置mysql的資料配置

vim /etc/my.cnf

開啟之後 找到一個 [mysqld] 在這個裡面去新增配置(下面就是你要設定的主配置了) 編輯命令: i

主資料庫配置

server-id=200  #設定主伺服器的ID 
innodb_flush_log_at_trx_commit=2  #事務處理時 寫進log速度 0:速度最快不安全 1:最安全速度慢 2:速度快也安全
sync_binlog=1  #開啟binlog日誌同步功能
log-bin=mysql-bin-200  #binlog日誌檔名
binlog-do-db=test  #這個表示只同步某個庫 (如果沒有此項,表示同步所有的庫)(這裡的test表示我同步是test庫)

編輯完成後 儲存命令 :wq

重啟資料庫 lnmp mysql restart

然後就進入mysql  命令:

mysql -uroot -p 

輸入mysql密碼(預設輸入root)

建立主資料庫賬號(用於從庫連結的賬戶)

 grant replication slave on *.* to '這裡填寫使用者名稱mark'@'這裡填寫從資料庫的IP或者%' identified by '這裡填寫密碼123456';

#授權給從資料庫IP或%任意主機,使用者名稱mark 密碼123456

檢視配置狀態(這裡的兩個資料很重要 等會下面會用 一個file 一個position)

show master status

好了 上面的主庫配置就完成了

下面去到我們的從庫配置 還是照舊vim /etc/my.cnf

從資料庫配置

server-id=201
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-201

編輯完成後 儲存命令 :wq

重啟資料庫 lnmp mysql restart

然後就進入mysql  命令:

mysql -uroot -p 

輸入mysql密碼(預設輸入root)

建立連結主庫的配置

change master to master_host='這裡填寫主資料庫的ip地址', master_user='填寫剛剛建立的使用者名稱mark' ,master_password='填寫剛剛建立的密碼123456', master_log_file='這裡填寫剛剛檢視的File值mysql-bin-200.000002' ,master_log_pos=這裡填寫剛剛檢視的Position值1163;

輸入完後 啟動slave 從庫連結

start slave;

啟動成功後 檢視從庫配置

show slave status \G;

看到了我們紅色圈圈這兩個值都為YES證明配置成功且連結主庫成功了!!

如果看到slave_IO_Running為 connect 代表連結中 如果出現這種情況 一般來說要不就是賬戶密碼寫錯了 要不然就是防火牆得問題 如果是防火牆得問題 就得去檢視主庫的防火牆是否遮蔽了mysql連結

我第一次測試的時候就出現這種問題 那咋辦 就去檢視主庫的防火牆唄 修改防火牆得規則 或者停止防火牆(這樣不安全)

這裡就不說明防火牆設定了 可以去百度 主庫防火牆檢視規則 iptables --list

一般防火牆有兩種 一種iptables  一種firewall 騰訊雲的好像是用firewall的

如果想關閉主從分離的話就直接在從資料庫輸入該命令 

stop slave;

reset slave;

好了 連結成功後就可以去測試下在主庫新建一條資料 從庫就會新建一條資料了

OK 大功告成!!