Mysql Fabric实现学习笔记
1
2
3
|
tar xvf mysql-utilities-1.4.4.tgz
cd mysql-utilities-1.4.4
python setup.py install
|
1、需要创建一个账号访问backing store,用户账号对数据库fabric必须有完全权限:
1
2
|
# mysql -uroot -h172. 17.0 . 49 -p
MySQL [(none)]> grant all on fabric.* to fabric@ '172.17.42.1' identified by 'fabric@123' ;
|
2、对fabric进行管理的所有mysql服务器,需要对所有数据库创建拥有完全权限的用户,Mysql Fabric使用同样的用户帐户访问到所有Mysql服务器进行管理:
1
2
3
4
5
6
7
8
|
# mysql -uroot -h172. 17.0 . 50 -padmin @123
MySQL [(none)]> grant all on *.* to fabric@ '172.17.42.1' identified by 'fabric@456' ;
# mysql -uroot -h172. 17.0 . 47 -padmin @123
MySQL [(none)]> grant all on *.* to fabric@ '172.17.42.1' identified by 'fabric@456' ;
Query OK, 0 rows affected ( 0.00 sec)
# mysql -uroot -h172. 17.0 . 48 -padmin @123
MySQL [(none)]> grant all on *.* to fabric@ '172.17.42.1' identified by 'fabric@456' ;
Query OK, 0 rows affected ( 0.00 sec)
|
详细配置文件如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# cat /etc/mysql/fabric.cfg
[DEFAULT] #如果请求的选项没有在命令行指定,或没有在配置文件找到,Fabric将查看该段的信息
prefix =
sysconfdir = /etc #配置文件存放目录
logdir = /var/log #日志文件存储位置,绝对路径,由守护进程创建
[storage] #配置backing store相关的选项
address = 172.17.0.49:3306 #指定state store的mysql实例地址和端口
user = fabric #连接到mysql实例的用户名
password = fabric@123 #认证密码,也能设置空密码
database = fabric #存储Fabric表的数据库
auth_plugin = mysql_native_password #设置使用的认证插件
connection_timeout = 6 #中断请求之前等待的最大时间,单位秒
connection_attempts = 6 #创建连接的最大尝试次数
connection_delay = 1 #连续尝试创建连接之间的延时时间,默认1s
[servers]
user = fabric
password =
[protocol.xmlrpc] #该段定义Fabric接收通过XML-RPC协议的请求
address = 0.0.0.0:32274 #标识Fabric使用的主机和端口,接收XML-RPC请求
threads = 5 #XML-RPC会话线程的并发创建数,决定多少并发请求Fabric能接受
user = admin #用户名,认证命令行请求
password = #用户密码,认证命令行请求
disable_authentication = no #是否启用命令行请求需要认证,默认要认证
realm = MySQL Fabric
ssl_ca = #使用ssl认证方式,指定PEM格式文件,包含信任SSL证书的列表
ssl_cert = #SSL认证文件,用于创建安全的连接
ssl_key = #SSL key文件
[executor] #通过XML-RPC接收到的请求,映射到程序能立即执行或通过队列执行者,保证冲突的请求处理按序执行。通常读操作立即执行通过XML-RPC会话线程,写操作通过执行者
executors = 5 #多少线程用于执行者
[logging] #设置Fabric日志信息记录到哪里,如果不是开启为后台进程,将打印日志到标准输出
level = INFO #日志级别,支持DEBUG,INFO,WARNING,ERROR,CRITICAL
url = file : ///var/log/fabric .log #存储日志的文件,能为绝对或相对路径(如是相对路径,将参照default段logdir参数指定的日志目录)
[sharding] #Fabric使用mysqldump和mysql客户端程序,执行移动和分离shards,指定程序的路径
mysqldump_program = /usr/bin/mysqldump
mysqlclient_program = /usr/bin/mysql
[statistics]
prune_time = 3600 #删除大于1h的条目
[failure_tracking] #连接器和其他外部实体能报告错误,fabric保持跟踪服务器健康状态和采取相应的行为,如提升一个新的master,如果一个服务器时不稳定的,但不是master,将简单的标记为错误。
notifications = 300 #多少次报告错误后,将标志服务器不可用
notification_clients = 50 #多少不同源报告错误
notification_interval = 60 #评估错误数的统计时间
failover_interval = 0 #为了避免整个系统不可用,自上次提升间隔多少秒后,新master才能选取
detections = 3 #为了缓解fabric,提供内建的错误检查,如果错误检查启动监控一个组,需要连续尝试3(默认)次访问当前master都错误后,才能提升新master,
detection_interval = 6 #连续检查之间的间隔时间
detection_timeout = 1 #错误检查程序尝试连接到一个组中服务器的超时时间
prune_time = 3600 #在错误日志中保留多久的错误信息
[connector] #Fabric-aware连接器连接到Fabric,获取组、shards、服务器的信息,缓存结果到本地的时长,以提高性能。
ttl = 1 #缓存生存时间,单位s,决定多长时间,连接器考虑一个信息从Fabric获取是有效的
[client]
password =
|
4、State store创建fabric数据库和相关表:使用以上授权用户
1
2
3
4
5
6
7
8
|
# mysqlfabric manage setup --param=storage.user=fabric --param=storage.password=fabric @123
[INFO] 1409095183.577010 - MainThread - Initializing persister: user (fabric), server ( 172.17 . 0.49 : 3306 ), database (fabric).
Finishing initial setup
=======================
Password for admin user is not yet set.
Password for admin/xmlrpc:
Repeat Password:
Password set.
|
5、查看创建的表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# mysql -ufabric -h172. 17.0 . 49 -pfabric @123 -e "show tables from fabric" ;
+-------------------+
| Tables_in_fabric |
+-------------------+
| checkpoints | #存储程序执行信息,在crash后,能安全的恢复执行程序
| error_log | #服务器错误报告信息
| group_replication | #定义复制,global groups和分片组,主要用于shard splitting,moving和global updates
| group_view |
| groups | #包含管理组信息
| log |
| permissions | #包含权限信息,访问到不同fabric子系统,当前仅仅定义了core子系统
| proc_view |
| role_permissions | #表关联的角色和权限
| roles | #包含用户角色的信息
| servers | #包含fabric管理的所有服务器信息
| shard_maps | #包含名字和分片属性的映射
| shard_ranges | #分片索引和使用映射分片key到分片
| shard_tables | #所有分片的表
| shards | #存储每个分片标识
| user_roles |
| users | #标识用户有什么权限访问到不同子系统的功能
+-------------------+
|
使用mysqlfabric命令开启和停止mysql fabric节点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# mysqlfabric manage start
[INFO] 1409095475.657850 - MainThread - Initializing persister: user (fabric), server (172.17.0.49:3306), database (fabric).
[INFO] 1409095475.661201 - MainThread - Loading Services.
[INFO] 1409095475.672051 - MainThread - Fabric node starting.
[INFO] 1409095475.731098 - MainThread - Starting Executor.
[INFO] 1409095475.731155 - MainThread - Setting 5 executor(s).
[INFO] 1409095475.731395 - Executor-0 - Started.
[INFO] 1409095475.731866 - Executor-1 - Started.
[INFO] 1409095475.732208 - Executor-2 - Started.
[INFO] 1409095475.732892 - Executor-3 - Started.
[INFO] 1409095475.733379 - Executor-4 - Started.
[INFO] 1409095475.733472 - MainThread - Executor started.
[INFO] 1409095475.738050 - MainThread - Starting failure detector.
[INFO] 1409095475.738533 - XML-RPC-Server - XML-RPC protocol server ( '0.0.0.0' , 32274) started.
[INFO] 1409095475.738774 - XML-RPC-Server - Setting 5 XML-RPC session(s).
[INFO] 1409095475.739004 - XML-RPC-Session-0 - Started XML-RPC-Session.
[INFO] 1409095475.739263 - XML-RPC-Session-1 - Started XML-RPC-Session.
[INFO] 1409095475.739442 - XML-RPC-Session-2 - Started XML-RPC-Session.
[INFO] 1409095475.739922 - XML-RPC-Session-3 - Started XML-RPC-Session.
[INFO] 1409095475.740434 - XML-RPC-Session-4 - Started XML-RPC-Session.
|
查看启动的xmlrpm监听端口:
1
2
|
# netstat -ntlp|grep python
tcp 0 0 0.0 . 0.0 : 32274 0.0 . 0.0 :* LISTEN 15713 /python
|
1
2
3
4
5
6
7
|
# mysqlfabric manage stop
Password for admin: #输入xmlrpc的密码
Command :
{ success = True
return = True
activities =
}
|
转载于:https://www.cnblogs.com/thrillerz/p/4213318.html
Mysql Fabric实现学习笔记相关推荐
- B站《一天学会 MySQL 数据库》学习笔记
B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...
- mysql性能优化-学习笔记
mysql性能优化-学习笔记
- 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)
三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...
- mysql root密码忘记2018_MySQL数据库之2018-03-28设置及修改mysql用户密码学习笔记
本文主要向大家介绍了MySQL数据库之2018-03-28设置及修改mysql用户密码学习笔记 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 退出mysql方法 quit或者e ...
- mysql的sqlyog学习笔记(查询部分)(代码用命令行显示 )
索引 语言 查询 基础查询 select 查询列表 from 表名; 查询函数(调用函数,获取返回值) 起别名 +的作用 distinct的使用(去重) 查看表的结构 条件查询 按关系表达式筛选 按逻 ...
- mysql中depart_mysql 学习笔记
1)net stop mysql net start mysql 2)c:\mysql\bin\mysqladmin flush-privileges 3)登陆mysql后,用flush p ...
- 如何查看mysql my.ini_MySQL学习笔记(一)
MySQL 学习笔记 一.安装 Typical:经典安装 Custom:自定义安装 Complete: 完全安装 二.修改编码方式 [mysqld] myini:character-set-serv ...
- mysql over rank_SQL学习笔记 - 窗口函数OVER
Window Function 窗口函数 Perform calculations on an already generated result set ( a window).(在已生成的结果集上执 ...
- MySQL快速上手[学习笔记](三)
前言: 课程:<三大主流数据库快速上手>(点击跳转官方课程,b站有资源,可自搜) 笔记(点击跳转豆丁网) 此处是个人学习笔记,用作回顾用途 目录: 七.函数 八.视图 九.触发器 十.存储 ...
- MySQL快速上手[学习笔记](二)
前言: 课程:<三大主流数据库快速上手>(点击跳转官方课程,b站有资源,可自搜) 笔记(点击跳转豆丁网) 此处是个人学习笔记,用作回顾用途 目录: 四.索引 五.增删改 六.SQL语句 四 ...
最新文章
- 在?三缺一,来斗个地主——肝个斗地主案例(java)
- 知识驱动的推荐系统:现状与展望
- 智能交通系统无人机派罚单,人脸成为下一个人牌号,人工智能下谁敢犯规
- linux 内核 netfilter 网络过滤模块 (4)-期望连接
- 为什么我使用了索引,查询还是慢?
- coreldraw 复制填充渐变色
- Java Web专题(一)
- Python程序开发——第三章 列表与元组
- linux运维和3dmax哪个简单,牛逼运维常用的工具系列-2
- Java基本数据类型及所占字节大小
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
- [剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]
- mysql触发器的简单入门(二)
- MySQL的crash-safe原理详解
- 30 天精通 RxJS(29):30 天感言
- android版本大于26,装包的API等级(targetSdkVersion)必须等于或高于26,请从新打包上传...
- NVIDIA下载老版本驱动/CUDA/Video Codec SDK的链接
- Flask + PostgreSQL部署在Heroku上的薅羊毛线报网站
- 虚拟地址空间和物理地址空间
- java计算机毕业设计济南旅游网站源码+mysql数据库+系统+lw文档+部署
热门文章
- 比特币 POW 白皮书 区块篡改成功的概率计算详解
- 关于常量池的一些整理
- 基于springboot的学生选课系统
- java ssh2连接_通过JCraft的jsch包基于SSH2协议实现连接linux服务器提供终端操作的java工具实现类SftpUtil...
- php 面向对象编程(class)之从入门到崩溃 高级篇
- Redis基本命令及相关用法
- 九、Oracle学习笔记:聚合函数
- CSS3 box-shadow 设置元素阴影、text-shadow 设置文本阴影
- Windows 安装 Oracle Java JDK
- 阶段3 2.Spring_10.Spring中事务控制_3 作业-基于注解的AOP实现事务控制及问题分析_下...