澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:MySQL:Fabric 安装

MySQL Fabric安装

MySQL:Fabric 安装,mysqlfabric安装

MySQL Fabric安装

 

MySQL Fabric是Oracle提供的用于辅助进行hasharding的工具,它的基本架构:

 澳门新浦京娱乐场网站 1

 

 

从上面看出,借助于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 CLI(mysqlfabric) 与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

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

 

安装,mysqlfabric安装 MySQL Fabric安装 MySQL Fabric是Oracle提供的用于辅助进行hasharding的工具,它的基本架构: 从上面看出,借助于...

 

 

 

搭建好Fabric之后,就可以在它的基础上创建HA Group、 Shard Group、HA Shard Group等。这里来说明一下如何快速的搭建HA环境。

搭建好Fabric之后,就可以在它的基础上创建HA Group、 Shard Group、HA Shard Group等。这里来说明一下如何快速的搭建HA环境。

MySQL Fabric是Oracle提供的用于辅助进行hasharding的工具,它的基本架构:

 

 

 澳门新浦京娱乐场网站 2

Fabric

192.168.2.234:33060

Master

192.168.2.234:33061

Slave1

192.168.2.234:33062

Slave2

192.168.2.234:33063

Fabric

192.168.2.234:33060

Master

192.168.2.234:33061

Slave1

192.168.2.234:33062

Slave2

192.168.2.234:33063

 

 

 

 

1、搭建Fabric环境

1、搭建Fabric环境

从上面看出,借助于Fabric, 可以搭建 HA 集群、Sharing 、HA Sharding。

如果已搭建好,可以忽略这一步。如果没有搭建可以参考之前的说明。

如果已搭建好,可以忽略这一步。如果没有搭建可以参考之前的说明。

应用从fabric中得知各个数据库、表、分区等的映射关系,然后访问相应的mysql 实例。

 

 

 

2、准备3个受管MySQL 实例

2、准备3个受管MySQL 实例

Fabric由三个组件组成:

1)  创建3个MySQL实例

1)  创建3个MySQL实例

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

实例的创建可以参考相关文章澳门新浦京娱乐场网站:MySQL:Fabric 安装。。

实例的创建可以参考相关文章。

2)fabric nodes,可以启动1到多个node。每个node也是一个进程。用于处理fabric的管理请求、应用的mapping请求。

2)  在3个MySQL实例上分别创建用户,并授权。

2)  在3个MySQL实例上分别创建用户,并授权。

3)backstore,它也是一个mysql server,维护了HA Group、Sharding Group。

创建的用户要与fabric.cfg中的[server]区域配置的用户保持一致。

创建的用户要与fabric.cfg中的[server]区域配置的用户保持一致。

 

授权要至少保留之前Fabric的文档中的权限说明。

授权要至少保留之前Fabric的文档中的权限说明。

 

 

 

 

当然也可以直接授于所有权限:

当然也可以直接授于所有权限:

下载

grant all  privileges on *.* to  ‘fabric’@’%’  identified by ‘yourpassword’;

Flush privileges;

grant all  privileges on *.* to  ‘fabric’@’%’  identified by ‘yourpassword’;

Flush privileges;

 

3)在3个mysql实例的my.cnf加入必要的配置项:

3)在3个mysql实例的my.cnf加入必要的配置项:

在mysql 5.6之后的版本,可以使用fabric的对应版本是1.5,在mysql官网上可以直接下载。由于fabric是由python语言编写的,并且内部通信用会用到 mysql-connector- python,所以也要下载对应的python驱动。

gtid_mode=ON

log-bin=mysql-bin

log-slave-updates=true

enforce-gtid-consistency=true

server_id=1  // 该配置项各个实例不一样

gtid_mode=ON

log-bin=mysql-bin

log-slave-updates=true

enforce-gtid-consistency=true

server_id=1  // 该配置项各个实例不一样

         我下载的版本是:

 

 

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

4)重启3个mysql实例。

4)重启3个mysql实例。

 

 

 

  

3、在Fabric上配置实例访问

3、在Fabric上配置实例访问

安装

 

 

1、安装介质

Fabric 配置文件fabric.cfg的说明可以参考:

Fabric 配置文件fabric.cfg的说明可以参考:

使用操作系统root用户来安装。

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

这里主要就是要确保fabric.cfg中[server]区域配置的用户名与各个实例的用户保持一致。

这里主要就是要确保fabric.cfg中[server]区域配置的用户名与各个实例的用户保持一致。

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

 

 

 安装完毕后,会有一个mysqlfabric命令可以使用。所以可以通过该命令来判定是否安装成功。

4、将mysql实例纳入fabric的管理

4、将mysql实例纳入fabric的管理

2、配置文件

1)创建一个group:

1)创建一个group:

在安装好fabric之后,就会有一个默认的配置文件:fabric.cfg。

mysqlfabric group create ha_group

mysqlfabric group create ha_group

默认的配置文件的位置:

 

 

Platform

2)将mysql加入到组中:

2)将mysql加入到组中:

Package

mysqlfabric group add ha_group 192.168.2.234:33061
mysqlfabric group add ha_group 192.168.2.234:33062
mysqlfabric group add ha_group 192.168.2.234:33063
mysqlfabric group add ha_group 192.168.2.234:33061
mysqlfabric group add ha_group 192.168.2.234:33062
mysqlfabric group add ha_group 192.168.2.234:33063

Location

3)选择一个master实例。

3)选择一个master实例。

Microsoft Windows

在第2)完成后,所有的实例都是Secondary(也就是Slave),

在第2)完成后,所有的实例都是Secondary(也就是Slave),

mysql-utilities-1.5.6-win32.msi

 

 

UTILITIES_INSTALLDIR/etc/mysql/fabric.cfg

在选择master实例,有两种方案:1自动选取,2是指定一个。

在选择master实例,有两种方案:1自动选取,2是指定一个。

Ubuntu Linux 14.04

自动选择一个:

自动选择一个:

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

mysqlfabric group promote ha_group 

mysqlfabric group promote ha_group 

/etc/mysql/fabric.cfg

指定一个:

指定一个:

Debian Linux 6.0

Mysqlfabric server promote ha_group --slave_id=192.168.2.234:33061

Mysqlfabric server promote ha_group --slave_id=192.168.2.234:33061

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

 

 

/etc/mysql/fabric.cfg

5、测试

5、测试

Red Hat Enterprise Linux 6 / Oracle Linux 6

使用MySQL Client工具,例如 navicat 连接到这3个实例上,在master所对应的连接上 ,创建表,创建index, insert 数据。可以看到,另外两个实例上也自动同步了。

使用MySQL Client工具,例如 navicat 连接到这3个实例上,在master所对应的连接上 ,创建表,创建index, insert 数据。可以看到,另外两个实例上也自动同步了。

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 安装