首頁 >資料庫 >mysql教程 >MySQL之-Replication監控及自動故障切換的詳細分析

MySQL之-Replication監控及自動故障切換的詳細分析

黄舟
黄舟原創
2017-03-14 16:45:231547瀏覽

1、伺服器規劃

    Master:192.168.0.152
    Slave: 192.168.0.153     192.168.0.168.0.153     192.168.0.1541. 
注意:真實生產環境最好有一台單獨的伺服器監控資料庫Replication,這裡我就直接用一台Salve伺服器當監控伺服器了。
2、

安裝

MySQL Utilities和MySQL Connectors下載MySQL Utilities和MySQL Connectors並安裝

在192.168.0.154 (監控伺服器)伺服器上執行下列指令來安裝下載的MySQL Utilities和MySQL Connectors

yum install mysql-connector-python-2.1.4-1.el6.x86_64.rpm mysql-utilities-1.6.4-1.el6.noarch.rpm

3、設定好Replcation環境,一台Mster和兩台Slave環境

    Master:192.168. 0.152

    Slave: 192.168.0.153     192.168.0.154

    監控伺服器: 192.168.0.154
    監控伺服器: 192.168.0.154
    監控伺服器: 192.168.0.154
    監控伺服器: 192.168.0.154

    監控伺服器: 192.168.0.154

    監控伺服器: 192.168.0.154

 —MSS主從複製(讀寫分離)實作》  、《MySQL之-BinLog Replication升級為GTIDs Replication四步驟》。


4、為監控機授權

在192.168.0.152、192.168.0.153和192.168.0.154伺服器上分別執行:

mysql>grant create,insert ,drop, select, super, replication slave, reload on *.* to 'replm'@'192.168.0.154' identified by password 'replm' with grant option;

在192.168.0.152、 192.168.0.153和192.168.0.154分別執行

mysql>show grants for replm@192.168.0.154;
可驗證是否授權成功。

注意:如果是單獨的一台伺服器監控Replication, 只在Replication涉及到的Master和Slave伺服器上執行授權操作,授權目標IP為監控伺服器IP

#5、修改Master和Slave伺服器的

設定檔

,並啟用設定

#以下是設定Replication監控和故障切換時my.cnf檔案中的核心設定

[mysqld]
log-bin=/data/mysql3306log/mysql-bin
binlog-format=mixed
server-id = 001
sync_binlog=1
gtid-mode=on
enforce-gtid-consistency
log-slave-updates
report-host=192.168.0.154
master-info-repository=TABLE
relay-log-info-repository=TABLE

修改設定後,重新啟動mysql伺服器,然後mysql伺服器會將儲存在二進位日誌中的兩個檔案master.info和relay-log.info儲存到資料庫中,此時執行use mysql;show tables;會發現mysql資料庫中新建立了slave_master_info和slave_relay_log_info兩張表。

6、啟動監控端

在192.168.0.154(監控伺服器)上執行

#mysqlfailover --master=replm:replm@192.168.0.152 --discover-slaves-login=replm:replm

至此,我們配置了Replication監控及自動故障切換功能了。
注意:當Master伺服器掛掉的時候,mysqlfailover會自動在slave伺服器中選擇一個作為Master,其他slave均對應到新的Master伺服器。
注意:當Master掛掉後,mysqlfailover自動在其他slave中選擇一個伺服器當做Master,當我們手動重啟原來的Master伺服器時,mysqlfailover不能自動發現原來掛掉的mysql伺服器又重啟了,這個時候就要我們自己手動將原來掛掉的mysql伺服器重新啟動並作為一個Slave伺服器加入到Replication中。

#########

以上是MySQL之-Replication監控及自動故障切換的詳細分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn