mysql主從切換

Mysql主從切換

 

一、主從切換

n 1 環境準備

[root@mysqlserver ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

實驗拓撲如下:

wKiom1fPqsbQmRbBAACDDWfZkKQ777.png-wh_50

n 2 過程模擬實現

n 2.1 主庫鎖表(GTID中主庫設置全局只讀)

mysql> set @@global.read_only=ON;

n 2.2 從庫停止slave模式,創建授權用戶,此時從庫已經變爲主庫。

注意:如果幾個從庫的server-id一樣,當其中一個從庫切換爲主庫時,其餘從庫的server-id應該修改爲主庫不一樣即可,否則同步失敗。

mysql> stop slave;

mysql> set global validate_password_policy=0;

mysql> grant replication slave on *.* toli@'192.168.200.%' identified by 'abc123ABC';

n 2.3 “主庫”解除鎖表。

mysql> set @@global.read_only=OFF;

n 2.4 “主庫”(實際上是從庫)用change master to連接”從庫”(實際上是主庫)

mysql> change master tomaster_host='192.168.200.136',master_user='li',master_password='abc123ABC',master_auto_position=1;

mysql> start slave;

mysql> show slave status\G;

如果之前是從庫,而現在仍然是從庫,需要先關閉從庫,最好重置下。

mysql> stop slave;

mysql> resetslave;

mysql> changemaster tomaster_host='192.168.200.136',master_user='li',master_password='abc123ABC',master_auto_position=1;

mysql> startslave;

mysql> showslave status\G;

二、主宕從換爲主

如果主庫宕掉,從庫可以直接切換爲主庫,實現方法和上述類似。

n 1 “從庫”(需要馬上切換爲主庫的從庫)創建授權用戶

mysql> stop slave;

mysql> set global validate_password_policy=0;

mysql> grant replication slave on *.* toli@'192.168.200.%' identified by 'abc123ABC';

n 2 從庫使用change master to連接主庫

mysql> stop slave;

mysql> reset slave;

mysql> change master tomaster_host='192.168.200.136',master_user='li',master_password='abc123ABC',master_auto_position=1;

mysql> start slave;

mysql> show slave status\G;

如果從庫的server-id都一樣,則需要更改server-id,使得主從的server-id必須不一致。一樣則不需要更改。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章