文章目錄
- MySQL資料庫集群(雙主雙從)
- 雙主雙從(實驗一)
- 雙主
- 雙從
MySQL資料庫集群(雙主雙從)
雙主雙從(實驗一)
雙主
主服務器單節點設定,如果主服務器故障則會影響全域的寫入事件,所以要設定為雙主,在前面的實驗中已經將master1設定為master2的主服務器,這里只需要設定master2為master1的主服務器,
設定master2為master1的主服務器
- 登錄master2的mysql資料庫授權并且重繪
grant replication slave,replication client on *.* to 'rep'@'192.168.83.%' identified by 'Mysql@123';
flush privileges;# 重繪

- 登錄master1的資料庫并且操作:
change master to master_host='master2',master_user='rep',master_password='Mysql@123',master_auto_position=1;
start slave;# 開啟奴隸模式
show slave status\G;
這時master1也是別人的主服務器,同樣也是別人的從服務器,master1和master2互為主從服務器,
- 測驗
master1上面插入資料,在master2上觀察資料是否同步
在master2上面插入資料,在master1上觀察資料是否同步
如果有問題可以在/var/log/mysqld.log查看,雙方互相同步,
雙從
有另外兩臺的mysql資料庫作為服務器
同步現有的資料庫
使用mysqldump備份master1的資料
mysqldump -p'Mysql@123' --all-databases --single-transaction --master-data=2 --flush-logs > mmss-mysql-all.sql
備份完成后將sql檔案傳送給slave1和slave2
scp -r master1:/mmss-mysql-all.sql slave1:/tmp/
scp -r master1:/mmss-mysql-all.sql slave2:/tmp/
分別登錄slave1和slave2并且手動同步資料
slave1和slave2
mysql -uroot -p'Mysql@123' < /tmp/mmss-mysql-all.sql
啟動從服務器的ID和GTID
開啟slave1和slave2的二進制日志功能和服務器ID和GTID
slave1的資料庫:
vi /etc/my.cnf
另起幾行寫到
server-id=3
gtid_mode=ON
enforce_gtid_consistency=1
master-info-repository=TABLE
relay-log-info-repository=TABLE
保存退出并且重啟slave1的資料庫
systemctl restart mysqld
slave2的資料庫:
vi /etc/my.cnf
server-id=4
gtid_mode=ON
enforce_gtid_consistency=1
master-info-repository=TABLE
relay-log-info-repository=TABLE
保存退出并且重啟slave2的資料庫
systemctl restart mysqld
設定主服務器
登錄slave1的資料庫
change master to master_host='master1',master_user='rep',master_password='Mysql@123',master_auto_position=1 for channel 'master1';
change master to master_host='master2',master_user='rep',master_password='Mysql@123',master_auto_position=1 for channel 'master2';
start slave;#開啟奴隸模式
查看運行狀態
show slave status\G;
登錄slave2的資料庫并進行操作
change master to master_host='master1',master_user='rep',master_password='Mysql@123',master_auto_position=1 for channel 'master1';
change master to master_host='master2',master_user='rep',master_password='Mysql@123',master_auto_position=1 for channel 'master2';
start slave;#開啟奴隸模式
查看運行狀態
show slave status\G;
雙方的資料已經同步了,
如果集群有問題,可以去/var/lib/mysql/中的所有檔案進行洗掉,重啟資料庫后就是一個全新的資料庫,
進行測驗
可以分別在master1和master2中插入資料進,可以在slave1和slave2中進行查看,驗證實驗是否成功
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/257775.html
標籤:其他
下一篇:MyCat之搭建讀寫分離
