MySQL: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.-.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 安装的更多相关文章
- MySQL Fabric 分片性能测试
苦逼的人生,开始了新一轮调研.这次是上面要看 MySQL Fabric 分片性能,好吧,开搞. 1 啥是 MySQL Fabric 其实就是一个Python进程和应用端的Connector的组合.来一 ...
- MySQL Fabric部署
架构描写叙述: 一台主机上安装4个MySQL 服务,当中一个MySQL服务用于存储MySQL Fabric后台数据:另外3个MySQL服务用于主从架构測试.一个主+两个从. 第一部分:二进制方式安装M ...
- Mysql Fabric实现学习笔记
Mysql Fabric用来管理mysql服务,提供扩展性和容易使用的系统,管理mysql分片和高可用部署(当前实现了两个特性:高可用和使用数据分片的横向扩展,能单独使用或结合使用这两个特性.). 架 ...
- MySql免安装版安装配置,附MySQL服务无法启动解决方案
文首提要: 我下载的MySQL版本是:mysql-5.7.17-winx64.zip Archive版:系统:Windows7 64位. 一.解压文件 下载好My ...
- Mysql(windows)安装
h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...
- MYSQL离线安装
由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...
- 虚拟机+apache+php+mysql 环境安装配置
虚拟机的安装:直接下一步即可,注意修改路径. 安装完成后新建虚拟机,直接下一步.如果选择镜像文件后出现错误,可以试着去修改电脑bios中的虚拟化设置,改为enable,如下图: apache安装: 1 ...
- Windows 下 zip 版的 MySQL 的安装
创建 配置文件 当 MySQL server 启动时,它会在按照下表列出位置的顺序寻找并读取配置文件: File Name Purpose %PROGRAMDATA%\MySQL\MySQL Ser ...
- mysql 编译安装
mysql 编译安装方式: ```cd /home/oldboy/tools``` 创建 目录 if not have then mkd ...
随机推荐
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- Git 在团队中的最佳实践--如何正确使用Git Flow
我们已经从SVN 切换到Git很多年了,现在几乎所有的项目都在使用Github管理, 本篇文章讲一下为什么使用Git, 以及如何在团队中正确使用. Git的优点 Git的优点很多,但是这里只列出我认为 ...
- Socket聊天程序——Common
写在前面: 上一篇记录了Socket聊天程序的客户端设计,为了记录的完整性,这里还是将Socket聊天的最后一个模块--Common模块记录一下.Common的设计如下: 功能说明: Common模块 ...
- SQL Server-聚焦计算列持久化(二十一)
前言 上一节我们结束了Hash Match Aggregate和Stream Aggregate的讲解,本系列我们来讲讲关于SQL Server中的计算列问题,简短的内容,深入的理解,Always t ...
- node-sass 安装失败的解决措施
在测试gulp-webapp的时候遇到了styles不能被正常编译的问题,究其原因是node-sass没有被正常安装. 根本原因是国内网络的原因. 最终的解决方法是通过淘宝的npm镜像安装node-s ...
- C#多线程之基础篇3
在上一篇C#多线程之基础篇2中,我们主要讲述了确定线程的状态.线程优先级.前台线程和后台线程以及向线程传递参数的知识,在这一篇中我们将讲述如何使用C#的lock关键字锁定线程.使用Monitor锁定线 ...
- javascript设计模式:策略模式
前言 策略模式有效利用组合.委托.多态等技术和思想,可以有效避免多重条件选择语句. 策略模式对开放-封闭原则提供了很好的支持,将算法封装在strategy中,使得他们易于切换.理解.扩展. 策略模式中 ...
- C# 实时折线图,波形图
此Demo是采用VS自带的Chart图表控件,制作实时动态显示的折线图,和波形图. 涉及到知识如下: Chart 控件,功能强大,可以绘制柱状图,折线图,波形图,饼状图,大大简化了对图的开发与定制. ...
- html中table边框属性
1.向右(横向)合并: <td colspan="5"><span>后台管理系统</span></td> 2.向下(纵向)合并: & ...
- 基于开源项目SharpMap的热力图(HeatLayer)实现。
当前公司需要一个用时较少的热力图呈现方案,在避免较底层的GDI开发和比较了多家GIS产品的实际效果之后,团队决定用sharpMap的API来实现,由于之前框架采用的是另外一个开源项目GMap.net, ...