溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用MySQL Fabric實現(xiàn)高可用

發(fā)布時間:2021-10-27 16:55:47 來源:億速云 閱讀:491 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要為大家展示了“如何使用MySQL Fabric實現(xiàn)高可用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用MySQL Fabric實現(xiàn)高可用”這篇文章吧。

一、 下載和安裝 MySQL Fabric

  1. 從 http://dev.mysql.com/downloads/utilities/ 下載 MySQL Utilities 1.5 ,MySQL Fabric 是 MySQL Utilities 1.5 的一部分。

  2. 從 http://dev.mysql.com/downloads/connector/j/ 下載 java connector,5.1.30 和之后的版本支持 MySQL Fabric。

二、創(chuàng)建 MySQL 用戶

需要為 MySQL Fabric 在每個 MySQL 實例上創(chuàng)建用戶。在集群實例上創(chuàng)建用戶過程中需要關閉 bin log,否則 MySQL Fabric 創(chuàng)建主從關系的時候會在 slave 上重新執(zhí)行 master 中創(chuàng)建同一用戶的操作而導致出錯。以下示例中假設 MySQL Fabric 和 backing store 實例安裝在同一臺服務器中:

  1. 在 backing store 實例上創(chuàng)建 store user,將下面代碼中的 fabric_store 和 secret_store 替換為合適的用戶名和密碼。

    CREATE USER 'fabric_store'@'localhost'
  2. 在每個集群實例上創(chuàng)建 server user,將下面代碼中的 fabric_server 和 secret_server 替換為合適的用戶名和密碼。

    CREATE USER 'fabric_server'@'%'
  3. 在每個集群實例上創(chuàng)建 backup user,將下面代碼中的 fabric_backup 和 secret_backup 替換為合適的用戶名和密碼。

    CREATE USER 'fabric_backup'@'%'
  4. 在每個集群實例上創(chuàng)建 restore user,將下面代碼中的 fabric_restore 和 secret_restore 替換為合適的用戶名和密碼。

    CREATE USER 'fabric_restore'@'%'

三、 配置 MySQL

在每個集群實例中啟用 gtid-mode, bin-log 和 log-slave-updates ,并確保所有集群實例的 server-id 都不重復。

[mysqld]

四、配置和初始化 MySQL Fabric

  1. 修改 /etc/mysql/fabric.cfg 中的 [storage] 和 [servers] 段,配置 store user, server user, backup user 和 restore user 的用戶和密碼。

    [storage]
  2. 執(zhí)行 mysqlfabric manage setup 初始化 store server,執(zhí)行過程中需要設置 admin/xmlrpc 的密碼,這個密碼是使用用戶名 admin 訪問 MySQL Fabric 時使用的密碼??梢詫⑦@個密碼配置到 fabric.cfg 中 [protocol.xmlrpc] 段的 password 中,否則后面每次執(zhí)行 MySQL Fabric 命令都會提示輸入這個密碼。

五、啟動和停止 MySQL Fabric

  1. 執(zhí)行 mysqlfabric manage start 啟動 MySQL Fabric。

  2. 執(zhí)行 mysqlfabric manage stop 停止 MySQL Fabric。

六、創(chuàng)建服務器組

  1. 執(zhí)行 mysqlfabric group create my_group 創(chuàng)建服務器組,其中 my_group 為組名。

  2. 執(zhí)行 mysqlfabric group add my_group master_server:port 添加主服務器,其中master_server:port 為主服務器的 IP 和端口。

  3. 執(zhí)行 mysqlfabric group promote my_group 將主服務器提升為服務器組的 master。

  4. 執(zhí)行 mysqlfabric group add my_group slave_server:port 添加從服務器,其中slave_server:port 為從服務器的 IP 和端口,添加之后從服務器會自動同步主服務器上已經寫入 bin log 的數(shù)據(jù)。

  5. 執(zhí)行 mysqlfabric group activate my_group 激活故障自動切換。

mysqlfabric group lookup_servers ys_group

七、錯誤恢復

服務器出現(xiàn)故障之后,MySQL Fabric 中會將其標記為 FAULTY 狀態(tài),在服務器恢復之后狀態(tài)不會自動恢復,需要人工將出錯的服務器從組中移除再重新加入。

`shell>mysqlfabric group remove my_group server:port`

八、使用 Java connector 連接到 MySQL Fabric

以 Tomcat datasource 配置為例,從直接連接切換成通過 MySQL Fabric 連接 MySQL 只需修改driverClassName 和 url :

driverClassName="com.mysql.fabric.jdbc.FabricMySQLDriver"

其中 localhost:32274 是 MySQL Fabric 的服務地址,fabricUsername 和 fabricPassword 是 MySQL Fabric 的用戶名和密碼,database 是默認數(shù)據(jù)庫名稱,fabricServerGroup 是服務器組名稱。

以上是“如何使用MySQL Fabric實現(xiàn)高可用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI