騰訊雲伺服器與虛擬機器搭建主從分離資料庫
測試環境
主資料庫: 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 大功告成!!