mysql fabric搭建_MySQL Fabric 安装部署
MySQL Fabric
是一个用于管理 MySQL 服务器群的可扩展框架。该框架实现了两个特性 — 高可用性 (HA) 以及使用数据分片的横向扩展。这两个特性既可以单独使用,也可以结合使用。
环境:
安装MySQL Fabric
配置MySQL Fabric
MySQL Fabric 安装管理数据库fabric
启动MySQL Fabric
创建Fabric高可用组mysql_ha
添加mysql_ha组添加节点
自动推举一个节点为主库
查看mysql_ha组节点服务器
测试mysql_ha组高可用
恢复192.168.1.101并设置为从库
查看mysql_ha组状态
使用python连接MySQL Fabric
运行python-fabric.py
使用PHP连接MySQL Fabric
MySQL Fabric 常用操作
环境:
名称
IP
端口
软件
备注
MySQL Fabric
192.168.1.100
3306
MySQL5.6.24、mysql-utilities-1.5.4
Fabric管理
MySQL主服务器
192.168.1.101
3306
MySQL5.6.24
节点
MySQL从服务器
192.168.1.102
3306
MySQL5.6.24
节点
注:Fabric基于MySQL GTID主从复制,需要安装MySQL 5.6以上版本。
GTID特点是很方便在1主多从环境下,根据GITD号方便切换主从关系。
详细请参考官方文档
主从复制安装部署忽略
安装MySQL Fabric
#tar zxvf mysql-utilities-1.5.4.tar.gz
#cd mysql-utilities-1.5.4
#python ./setup.py build
#python ./setup.py install
注:Fabric只需安装在192.168.1.100服务器上
配置MySQL Fabric
建立管理账号
#mysql>grant all on *.* to ‘fabric’@’192.168.1.100’identified by ‘pass’;
注:此账号需要在192.168.1.100、192.168.1.101、192.168.1.102服务器创建。
修改MySQL配置文件(my.cnf)
gtid-mode = on
enforce-gtid-consistency = true
log_slave_updates = true
注:需要修改192.168.1.101、192.168.1.102服务器
修改MySQL Fabric 配置文件
#vi /etc/mysql/fabric.cfg
[storage]
address = 192.168.1.100:3306
user = fabric
password = pass
database = fabric
auth_plugin = mysql_native_password
connection_timeout = 6
connection_attempts = 6
connection_delay = 1
[servers]
user = fabric
password = pass
unreachable_timeout = 5
MySQL Fabric 安装管理数据库fabric
#mysqlfabric manage setup
[INFO] 1408115689.486792 – MainThread -Initializing persister: user (fabric), server (192.168.1.100:3306), database(fabric).
Finishing initial setup
=======================
Password for admin user is not yet set.
Password for admin/xmlrpc:
Repeat Password:
Password set.
安装期间需要设置fabric管理密码。
安装完成后。会生成一个fabric管理数据库
启动MySQL Fabric
#mysqlfabric manage start –daemonize
注:参数—daemonize 为后台启动
创建Fabric高可用组mysql_ha
#mysqlfabric group create mysql_ha
添加mysql_ha组添加节点
#mysqlfabric group add my_group192.168.1.101:3306
#mysqlfabric group add my_group192.168.1.102:3306
自动推举一个节点为主库
#mysqlfabric group promote mysql_ha
查看mysql_ha组节点服务器
#mysqlfabric group lookup_servers mysql_ha
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1
server_uuid address status mode weight
——————————————————– ——— ———- ——
1135f441-f867-11e4-9bfc-000c296cbb9a192.168.1.101:3306 PRIMARY READ_WRITE S 1.0
13f32739-f867-11e4-9bfc-000c2957c804192.168.1.102:3306 SECONDARY READ_ONLY 1.0
测试mysql_ha组高可用
将192.168.1.101 主库关闭。在查看mysql_ha组节点服务器状态
#mysqlfabric group lookup_servers mysql_ha
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1
server_uuid address status mode weight
——————————————————– ——— ———- ——
1135f441-f867-11e4-9bfc-000c296cbb9a192.168.1.101:3306 FAULTY READ_WRITE 1.0
13f32739-f867-11e4-9bfc-000c2957c804192.168.1.102:3306 PRIMARY READ_WRITE S 1.0
注:Fabric自动将从库192.168.1.102设置为主库,主库192.168.1.101状态为FAULTY
恢复192.168.1.101并设置为从库
#mysqlfabric server set_status 1135f441-f867-11e4-9bfc-000c296cbb9a spare
#mysqlfabric server set_status 1135f441-f867-11e4-9bfc-000c296cbb9asecondary
查看mysql_ha组状态
#mysqlfabric group lookup_servers mysql_ha
Fabric UUID: 5ca1ab1e-a007-feed-f00d-cab3fe13249e
Time-To-Live: 1
server_uuid address status mode weight
——————————————————– ——— ———- ——
1135f441-f867-11e4-9bfc-000c296cbb9a192.168.1.101:3306 SECONDARY READ_ONLY 1.0
13f32739-f867-11e4-9bfc-000c2957c804192.168.1.102:3306 PRIMARY READ_WRITE S 1.0
注:192.168.1.101状态已从FAULTY变为 SECONDARY
使用python连接MySQL Fabric
#vi python-fabric.py
#!/usr/bin/env python
import sys
import mysql.connector
from mysql.connector import fabric
def main():
try:
conn = mysql.connector.connect(
fabric ={"host":"localhost","port":32274,"username":"admin","password":"pass"},
user = 'fabric',database = 'test',password = 'fabric',autocommit = True
)
exceptException,e:
print e
sys.exit(1)
else:
conn.set_property(mode=fabric.MODE_READWRITE,group="mysql_ha")
cur = conn.cursor()
cur.execute(
"CREATE TABLE IF NOT EXISTS fabrictest ("
" sub_no INT,"
" first_name CHAR(40),"
" last_name CHAR(4)"
")"
)
finally:
conn.close()
if __name__ == '__main__':
main()
注:注意修改脚本里面参数。
运行python-fabric.py
#python python-fabric.py
运行成功会在mysql主服务器(192.168.1.101)test数据库里创建fabrictest表。
mysql> show tables from test;
+——————–+
| Tables_in_test |
+——————–+
| fabrictest |
+——————–+
使用PHP连接MySQL Fabric
请参考PHP官方说明
注:PHP目前对MySQLFabric 支持不太好。MySQL官方文档也没介绍PHP如何连接MySQL Fabric。
MySQL Fabric 常用操作
创建组
mysqlfabric group create my_group
添加节点
mysqlfabric group add my_group192.168.223.128:3306
mysqlfabric group add my_group192.168.223.135:3306
删除
注:不能删除主数据库节点,要先降级
mysqlfabric group demote my_group
mysqlfabric group remove my_group1135f441-f867-11e4-9bfc-000c296cbb9a
自动推举一个主
mysqlfabric group promote my_group
手动设置一个主
mysqlfabric group promote my_group–slave_id=1135f441-f867-11e4-9bfc-000c296cbb9a –update_only
自动切换主从
mysqlfabric group activate my_group
禁用自动切换主从
mysqlfabric group deactivate my_group
设置节点状态primary,secondary,spare,faulty
mysqlfabric server set_status 13f32739-f867-11e4-9bfc-000c2957c804 spare
MySQL服务器恢复,如果MySQL从服务器处于faulty(故障)状态。需要先设置为spare,在设置为secondary (从)
mysqlfabric group demote my_group #将my_group组降级
mysqlfabric server set_status 1135f441-f867-11e4-9bfc-000c296cbb9a spare
mysqlfabric server set_status 13f32739-f867-11e4-9bfc-000c2957c804secondary
MySQL服务器恢复,如果MySQL主服务器处于faulty(故障)状态。需要先设置为spare,在手动设置主
mysqlfabric group demote my_group #将my_group组降级
mysqlfabric server set_status 1135f441-f867-11e4-9bfc-000c296cbb9a spare,
mysqlfabric group promote my_group–slave_id=1135f441-f867-11e4-9bfc-000c296cbb9a –update_only
查看
mysqlfabric group lookup_servers my_group
mysqlfabric group health my_group
启动mysqlfabric
mysqlfabric manage start
后台启动mysqlfabric
mysqlfabric manage start –daemonize
停止mysqlfabric
mysqlfabric manage stop
查看mysqlfabric 状态
mysqlfabric manage ping
原文:https://www.chinasa.net/archives/155.html
原创文章,作者:wubin,如若转载,请注明出处:http://www.178linux.com/17384
mysql fabric搭建_MySQL Fabric 安装部署相关推荐
- Centos6.0 64位MySQL 5.5.20 CMake 安装部署
Centos6.0 64位下 MySQL 5.5.20 CMake 安装部署 一.下载所需软件 linux用 wget 下载需要的软件,保存到目录 /usr/local/src 下 wget ftp: ...
- [MySQL] MySQL的自己主动化安装部署
有过MySQL运维的人应该都清楚,线上的MySQL一般都採用源代码编译,由于这样才干够依据企业的各自须要选择要编译的功能,尽管MySQL的源代码编译挺简单的,可是试想一下,假设你有几百台server同 ...
- mysql的安装版本有无开发版_moodle 2.0.2 安装图文教程 2——PHP Mysql环境搭建和moodle安装 - 乔木的日志 - ICT教育 - 中小学信息技术教育和教育信息化网站...
moodle 2.0.2 安装图文教程 2--PHP+Mysql环境搭建和moodle安装 热度 6已有 211 次阅读 2011-3-29 16:49 ||关键词:moodle 2 图文安装教程 p ...
- mysql二进制升级_MySQL二进制安装,升级,多实例部署
MySQL二进制安装,升级,多实例部署 目标 理解线上部署考虑的因素 学会编译安装以及二进制安装mysql 学会升级mysql 学会多实例部署mysql数据库 学会合理部署mysql线上库 考虑因素: ...
- mysql pxc搭建_MySQL PXC 高可用集群搭建
一些名词介绍: WS:write set写数据集IST: Incremental State Transfer增量同步SST:State Snapshot Transfer全量同步 pxc环境所涉及的 ...
- Storm 04_Storm单机模式搭建完全分布式安装部署集群drpc
一.环境要求 JDK 1.6+ java -version Python 2.6.6+ python -V ZooKeeper3.4.5+ storm 0.9.4+ ----------------- ...
- Fabric 搭建测试网络并部署智能合约
1.搭建网络: 详见博客 2.对Test Network的创建和关闭 cd ${HOME}/fabric-samples/test-network 创建网络: ./network.sh up关闭网络: ...
- mysql基础搭建_MySql基础-构建MySql数据库:安装MySql-server、MySql-client
1 构建MySQL服务器 1.1 问题 本案例要求熟悉MySQL官方安装包的使用,快速构建一台数据库服务器: 安装MySQL-server.MySQl-client软件包 修改数据库用户root的密码 ...
- mysql客户端centos离线安装_mysql离线安装部署centos
# 1. Mysql单机安装 前提:切换用户命令 su root ## 1.1 卸载系统自带的mysql ### 1.1.1查看已安装的mysql ``` [root@localhost ~]# r ...
最新文章
- LR需要理解的一些内容
- PHP取得json前面有乱码(去除文件头部BOM)
- CUDA系列学习(三)GPU设计与结构QA coding练习
- 火狐浏览器mac_Firefox火狐浏览器73.0版本发布,有哪些期待已久的新功能?
- 自然语言处理之长短时记忆网络(六)
- [css] 说说你对hasLayout的理解,触发hasLayout的方式有哪些?
- mysql远程登录备份_mysql实现自动远程备份一办法(转)
- 复数基础——复数的绝对值,复数的极坐标形式的直观解释练习_8
- 你必须掌握的常用正则表达式大全
- 第一模块:开发基础 第1章 练习及作业
- 移动机器人路径规划:人工势场法
- 机器视觉,运动控制,C#联合雷赛运动控制卡,C#联合凌华控制 卡源码
- Redis安装教程(vmware虚拟机上)
- 【Android初学者】UI组件 介绍
- 欧盟CE公告号-外贸人不得不了解的通关证书
- idea 运行项目显示 Command line is too long. Shorten command line for
- 腾讯云CVM云服务器1M宽带能干嘛?1M宽带支撑多少人在线?
- 基于java的家庭理财系统_基于jsp的家庭理财系统-JavaEE实现家庭理财系统 - java项目源码...
- linux debian怎么重启网卡,debian10网卡设置
- 如何设计产品的引流诱饵?如何控制引流产品的成本呢?