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.-.el6.noarch.rpm
rpm –i mysql-utiltities-1.5.-.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

至于其它命令,可以参考官方文档。

MySQL:Fabric 安装的更多相关文章

  1. MySQL Fabric 分片性能测试

    苦逼的人生,开始了新一轮调研.这次是上面要看 MySQL Fabric 分片性能,好吧,开搞. 1 啥是 MySQL Fabric 其实就是一个Python进程和应用端的Connector的组合.来一 ...

  2. MySQL Fabric部署

    架构描写叙述: 一台主机上安装4个MySQL 服务,当中一个MySQL服务用于存储MySQL Fabric后台数据:另外3个MySQL服务用于主从架构測试.一个主+两个从. 第一部分:二进制方式安装M ...

  3. Mysql Fabric实现学习笔记

    Mysql Fabric用来管理mysql服务,提供扩展性和容易使用的系统,管理mysql分片和高可用部署(当前实现了两个特性:高可用和使用数据分片的横向扩展,能单独使用或结合使用这两个特性.). 架 ...

  4. MySql免安装版安装配置,附MySQL服务无法启动解决方案

          文首提要:             我下载的MySQL版本是:mysql-5.7.17-winx64.zip  Archive版:系统:Windows7 64位. 一.解压文件 下载好My ...

  5. Mysql(windows)安装

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  6. MYSQL离线安装

    由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...

  7. 虚拟机+apache+php+mysql 环境安装配置

    虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...

  8. Windows 下 zip 版的 MySQL 的安装

     创建 配置文件 当 MySQL server 启动时,它会在按照下表列出位置的顺序寻找并读取配置文件: File Name Purpose %PROGRAMDATA%\MySQL\MySQL Ser ...

  9. mysql 编译安装

    mysql 编译安装方式:   ```cd /home/oldboy/tools```                创建 目录          if not have   then     mkd ...

随机推荐

  1. 【.net 深呼吸】细说CodeDom(5):类型成员

    前文中,老周已经厚着脸皮介绍了类型的声明,类型里面包含的自然就是类型成员了,故,顺着这个思路,今天咱们就了解一下如何向类型添加成员. 咱们都知道,常见的类型成员,比如字段.属性.方法.事件.表示代码成 ...

  2. ASP.NET Core 之 Identity 入门(二)

    前言 在 上篇文章 中讲了关于 Identity 需要了解的单词以及相对应的几个知识点,并且知道了Identity处在整个登入流程中的位置,本篇主要是在 .NET 整个认证系统中比较重要的一个环节,就 ...

  3. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  4. PowerDesigner-VBSrcipt-自动设置主键,外键名等(SQL Server)

    在PowerDesigner中的设计SQL Server 数据表时,要求通过vbScript脚本实现下面的功能: 主键:pk_TableName 外键:fk_TableName_ForeignKeyC ...

  5. android通过webview调起支付宝app支付

    webview在加载网页的时候会默认调起手机自带的浏览器加载网页,用户体验不好.但当用户设置浏览器客户端(setWebViewClient)设置这样的监听事件之后,当请求url的时候就不会打开手机自带 ...

  6. Xamarin+Prism开发详解五:页面布局基础知识

    说实在的研究Xamarin到现在,自己就没设计出一款好的UI,基本都在研究后台逻辑之类的!作为Xamarin爱好者,一些简单的页面布局知识还是必备的. 布局常见标签: StackLayout Abso ...

  7. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~

    这篇博客,只是把自己在开发中经常遇到的打包编译问题以及解决方案给大家稍微分享一下,不求吸睛,但求有用. 1.大家都知道我们常常会遇到dex超出方法数的问题,所以很多人都会采用android.suppo ...

  8. 使用蓝灯后,IE浏览器以及内置IE浏览器的程序不能使用的解决方案

    使用完蓝灯后,每次使用IE浏览器都不能正常使用,于是有了下面的这个方案 1.通过Win+R 打开注册表编辑器(regedit) 进入目录 HKEY_CURRENT_USER \ Software \ ...

  9. VS15 preview 5打开文件夹自动生成slnx.VC.db SQLite库疑惑?求解答

    用VS15 preview 5打开文件夹(详情查看博客http://www.cnblogs.com/zsy/p/5962242.html中配置),文件夹下多一个slnx.VC.db文件,如下图: 本文 ...

  10. java观察者模式

      像activeMQ等消息队列中,我们经常会使用发布订阅模式,但是你有没有想过,客户端时如何及时得到订阅的主题的信息?其实就里就用到了观察者模式.在软件系统中,当一个对象的行为依赖于另一个对象的状态 ...