MySQL:Fabric 安裝

来源:http://www.cnblogs.com/f1194361820/archive/2016/12/29/6233376.html
-Advertisement-
Play Games

MySQL Fabric安裝 MySQL Fabric是Oracle提供的用於輔助進行ha\sharding的工具,它的基本架構: 從上面看出,藉助於Fabric, 可以搭建 HA 集群、Sharing 、HA+Sharding。 應用從fabric中得知各個資料庫、表、分區等的映射關係,然後訪問相 ...


MySQL Fabric安裝

 

MySQL Fabric是Oracle提供的用於輔助進行ha\sharding的工具,它的基本架構:

 

 

 

從上面看出,藉助於Fabric, 可以搭建 HA 集群、Sharing 、HA+Sharding。

應用從fabric中得知各個資料庫、表、分區等的映射關係,然後訪問相應的mysql 實例。

 

Fabric由三個組件組成:

1)fabric 的管理工具(也就是 mysqlfabric)。

2)fabric nodes,可以啟動1到多個node。每個node也是一個進程。用於處理fabric的管理請求、應用的mapping請求。

3)backstore,它也是一個mysql server,維護了HA Group、Sharding Group。

 

 

 

下載

 

在mysql 5.6之後的版本,可以使用fabric的對應版本是1.5,在mysql官網上可以直接下載。由於fabric是由python語言編寫的,並且內部通信用會用到 mysql-connector- python,所以也要下載對應的python驅動。

         我下載的版本是:

mysql-utiltities-1.5.6-1.el6.noarch.rpm
mysql-connector-ptyhon-2.0.4-1.el6.noarch.rpm

 

  

安裝

1、安裝介質

使用操作系統root用戶來安裝。

先安裝mysql-connector-ptyhon,再安裝mysql-utilities:

rpm –i mysql-connector-ptyhon-2.0.4-1.el6.noarch.rpm
rpm –i mysql-utiltities-1.5.6-1.el6.noarch.rpm

 安裝完畢後,會有一個mysqlfabric命令可以使用。所以可以通過該命令來判定是否安裝成功。

2、配置文件

在安裝好fabric之後,就會有一個預設的配置文件:fabric.cfg。

預設的配置文件的位置:

Platform

Package

Location

Microsoft Windows

mysql-utilities-1.5.6-win32.msi

UTILITIES_INSTALLDIR/etc/mysql/fabric.cfg

Ubuntu Linux 14.04

mysql-utilities_1.5.6-1ubuntu14.04_all.deb

/etc/mysql/fabric.cfg

Debian Linux 6.0

mysql-utilities_1.5.6-1debian6.0_all.deb

/etc/mysql/fabric.cfg

Red Hat Enterprise Linux 6 / Oracle Linux 6

mysql-utilities-1.5.6-1.el6.noarch.rpm

/etc/mysql/fabric.cfg

OS X

mysql-utilities-1.5.6-osx10.9.dmg

/etc/mysql/fabric.cfg

 

預設的配置文件預覽:

[DEFAULT]
prefix = /usr/local
sysconfdir = /usr/local/etc
logdir = /var/log

[storage]
address = localhost:3306
user = fabric_store
password = secret
database = mysql_fabric
auth_plugin = mysql_native_password
connection_timeout = 6
connection_attempts = 6
connection_delay = 1

[servers]
user = fabric_server
password = secret
backup_user = fabric_backup
backup_password = secret
restore_user = fabric_restore
restore_password = secret
unreachable_timeout = 5

[protocol.xmlrpc]
address = localhost:32274
threads = 5
user = admin
password = secret
disable_authentication = no
realm = MySQL Fabric
ssl_ca =
ssl_cert =
ssl_key =

[protocol.mysql]
address = localhost:32275
user = admin
password = secret
disable_authentication = no
ssl_ca =
ssl_cert =
ssl_key =

[executor]
executors = 5

[logging]
level = INFO
url = file:///var/log/fabric.log

[sharding]
mysqldump_program = /usr/bin/mysqldump
mysqlclient_program = /usr/bin/mysql

[statistics]
prune_time = 3600

[failure_tracking]
notifications = 300
notification_clients = 50
notification_interval = 60
failover_interval = 0
detections = 3
detection_interval = 6
detection_timeout = 1
prune_time = 3600

[connector]
ttl = 1

 

在這個配置文件中,會涉及到很多種帳戶:
·backstore

在[storage]區域,用來配置backstore mysql server的信息。所以這裡配置的就是backstore mysql server的操作帳戶。

該用戶必需的許可權:

ALTER              - alter some database objects
CREATE             - create most database objects
CREATE VIEW        - create views
DELETE             - delete rows
DROP               - drop most database objects
EVENT              - manage events
REFERENCES         - foreign keys
INDEX              - create indexes
INSERT             - insert rows
SELECT             - select rows
UPDATE             - update rows

  

·server

在[servers]區域配置的,是所有的受管mysql server的帳戶。

該用戶必需的許可權:

其中全局滿圍的許可權:

DELETE             - prune_shard
PROCESS            - list sessions to kill
RELOAD             - RESET SLAVE
REPLICATION CLIENT - SHOW SLAVE STATUS
REPLICATION SLAVE  - SHOW SLAVE HOSTS

 

其中Fabric 資料庫的許可權:

ALTER              - alter some database objects
CREATE             - create most database objects
DELETE             - delete rows
DROP               - drop most database objects
INSERT             - insert rows
SELECT             - select rows
UPDATE             - update rows

 

·backup

在[servers]區域配置的,它是所有的受管mysql server上用於backup的帳戶。例如執行mysqldump。

該用戶的許可權:

EVENT              - show event information
EXECUTE            - show routine information inside views
REFERENCES         - foreign keys
SELECT             - read data
SHOW VIEW          - SHOW CREATE VIEW
TRIGGER            - show trigger information

 

·restore

在[servers]區域配置的,它是所有的受管mysql server上用於restore的帳戶。Restore 用戶可以使用mysql client執行restore操作。

該用戶的許可權:

ALTER              - ALTER DATABASE
ALTER ROUTINE      - ALTER {PROCEDURE|FUNCTION}
CREATE             - CREATE TABLE
CREATE ROUTINE     - CREATE {PROCEDURE|FUNCTION}
CREATE TABLESPACE  - CREATE TABLESPACE
CREATE VIEW        - CREATE VIEW
DROP               - DROP TABLE (used before CREATE TABLE)
EVENT              - DROP/CREATE EVENT
INSERT             - write data
LOCK TABLES        - LOCK TABLES (--single-transaction)
REFERENCES         - Create tables with foreign keys
SELECT             - LOCK TABLES (--single-transaction)
SUPER              - SET @@SESSION.SQL_LOG_BIN = 0
TRIGGER            - CREATE TRIGGER

 

·admin 

在[protocol.mysql]、[protocol.xmlrpc]中配置的admin用戶,是Fabric 的客戶端(包括mysqlfabric、使用jdbc驅動的應用等) 與fabric node交互使用的用戶、密碼。

 在使用mysqlfabric時,可以使用預設的配置文件,也可以使用自定義的配置文件。不管使用哪個配置文件,相關的配置項都是要配的。

 

 

3、創建backstore 帳戶

創建一個mysql 實例作為fabric 的backstore。然後創建一個fabric backstore帳戶。

CREATE USER 'fabric_store'@'localhost'
   IDENTIFIED BY 'secret';

GRANT ALTER, CREATE, CREATE VIEW, DELETE, DROP, EVENT,
   INDEX, INSERT, REFERENCES, SELECT, UPDATE ON mysql_fabric.*
   TO 'fabric_store'@'localhost';

創建的這個用戶名、密碼要跟配置文件fabric.cfg中[storeage]區域中的user、password相同。 

此時fabric資料庫還沒有創建,但是也不要自己去創建。

 

4、初始化fabric資料庫、表

使用mysqlfabric初始化:

mysqlfabric manage setup

如果要使用自定義的fabric.cfg配置文件:

 

mysqlfabric --config=/your/fabric/cfg/path manage setup

 

5、mysqlfabric命令

1)啟動fabric節點

mysqlfabric --config=/your/fabric/cfg/path manage start

2)停止fabric節點 

mysqlfabric --config=/your/fabric/cfg/path manage stop

至於其它命令,可以參考官方文檔。 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 新項目用swift3.0開發,現在基本一個月,來總結一下遇到的問題及解決方案 1,在確定新項目用swift後,第一個考慮的問題是用純swift呢?還是用swift跟OC混編 考慮到新項目也不可避免的使用很多第三方庫,而第三方庫不一定支持swift或者有swift的替代版本,所以最終還是決定混編了; ...
  • Android游戲開發實踐(1)之NDK與JNI開發03 前面已經分享了兩篇有關Android平臺NDK與JNI開發相關的內容。以下列舉前面兩篇的鏈接地址,感興趣的可以再回顧下。那麼,這篇繼續這個小專題,主要分享下AndroidStudio下的NDK與JNI開發的相關操作以及簡述下CMake的使用。 ...
  • 之前的博文《Android中使用ExpandableListView實現好友分組》我簡單介紹了使用ExpandableListView實現簡單的好友分組功能,今天我們針對之前的所做的仿微信APP來對ExpandableListView做一個擴展介紹,實現效果如下(通訊里使用ExpandableLis ...
  • 如果SQL query中有參數,SQL Server 會創建一個參數嗅探進程以提高執行性能。該計劃通常是最好的並被保存以重覆利用。只是偶爾,不會選擇最優的執行計劃而影響執行效率。 SQL Server嘗試通過創建編譯執行計劃來優化你的存儲過程的執行。通常是在第一次執行存儲過程時候會生成並緩存查詢執行 ...
  • 搭建好Fabric之後,就可以在它的基礎上創建HA Group、 Shard Group、HA+Shard Group等。這裡來說明一下如何快速的搭建HA環境。 Fabric 192.168.2.234:33060 Master 192.168.2.234:33061 Slave1 192.168. ...
  • 在記憶體優化表的DMV中,有兩個對象ID(Object ID): xtp_object_id 是內部的記憶體優化表(Internal Memory-Optimized Table)的ID,在對象的整個生命周期中,該ID可變; object_id 是User Table的ID,唯一標識該User Tabl ...
  • 說明:(1)Linux版本 Linux version 2.6.32.12-0.7-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP 2010-05- ...
  • postgresql資料庫創建/修改/刪除等寫入類代碼語法總結: 1,創建庫 2,創建/刪除表 2.1 創建表 2.2 如果表不存在則創建表 2.3 刪除表 2.4 實例代碼: 說明:serial,bigserial 是自增長欄位數據類型,分別對應 int,long 3,創建/修改欄位 3.1 添加 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...