Mysql Fabric 实现 Windows环境 Mysql HA 高可靠

本文详细介绍了如何在Windows环境中使用MysqlFabric实现MySQL高可用(HA)部署,包括Mysql多实例安装、MysqlFabric安装配置、数据库主从复制设置、MysqlFabric Group创建与管理等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

由于之前我们都是通过keepalived 实现linux下的mysql高可靠,但keepalived不支持windows环 境,所以找到Mysql Fabric 来实现 Windows环境 Mysql HA 高可靠。

一、环境准备

  1. Mysql (至少需要三个Mysql实例)这里我选择 mysql-5.7.24-winx64.zip
  2. Mysql Fabric 我选择 mysql-utilities-1.5.5-winx64.msi
  3. 可能需要Visual C++ 2013环境 及 python 环境

二、Mysql win10单机多实例安装

由于是测试方案可行性我采用单机多实例方案创建三个mysql实例,实际生产环境应采用多台服务器实现。

服务名端口号
Mysql-33103310
Mysql-33203320
Mysql-33303320
Mysql-33403340

1、 将mysql压缩包解压至本地目录,为避免权限问题这里选择G盘,解压后目录如下:

在这里插入图片描述

在该目录下新建my.ini 文件并复制一下内容,注意 根据实际情况修改端口号和目录地址以及server_id

[mysqld]
server_id =40
log-bin
gtid-mode=ON
enforce-gtid-consistency
log_slave_updates
#设置mysql端口号
port = 3340
basedir=G:\1HA_Mysql\mysql-3340\mysql-5.7.24
datadir=G:\1HA_Mysql\mysql-3340\mysql-5.7.24\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql]
#设置mysql端口号
port = 3340
default-character-set=utf8

2、设置mysql 服务
cmd 管理员权限进入mysql bin 目录,执行以下命令

# Mysql5.7.24-3340 为服务名根据需要自己起
mysqld –install Mysql5.7.24-3340

在这里插入图片描述

可以看到服务创建成功,这时候打开服务管理就可以看到服务了
在这里插入图片描述

此时还不能立即启动服务,会报如下错误:
在这里插入图片描述

3、配置注册表
运行regedit打开注册表找到

HEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Mysql5.7.24-3340

在这里插入图片描述

可以看到ImagePath 路径并不正确,如果之前装过mysql的话这个路径会默认为第一个mysql的路径,将路径修改为这缺路径如下

“G:\1HA_Mysql\mysql-3340\mysql-5.7.24\bin\mysqld” Mysql5.7.24-3340

4、初始化mysql

cmd 进入mysql bin 目录执行如下命令,初始化需要1分钟左右耐心等待

#注意修改目录地址
mysqld --initialize --datadir=G:\1HA_Mysql\mysql-3340\mysql-5.7.24-winx64\data

5、启动mysql
cmd 进入mysql bin 目录执行如下命令

net start Mysql5.7.24-3340

三、Mysql Fabric 安装

Mysql Fabric 1.5.5 版本被打包在 mysql-utilities-1.5.5-winx64.msi 中,所以我们只需要安装mysql-utilities 就可以了

1、配置Mysql,创建Mysql Fabric 所需用户

# 创建用户
CREATE USER 'fabric'@'localhost' IDENTIFIED BY 'root'; 
GRANT ALL ON fabric.* TO 'fabric'@'localhost';              

2、配置Mysql Fabric

Mysql Fabric 的配置文件在mysql-utilities安装目录下 :

MySQL Utilities\etc\mysql\fabric.cfg

[DEFAULT]
prefix = G:\1HA_Mysql\MySQL Utilities
sysconfdir = G:\1HA_Mysql\MySQL Utilities\etc\mysql
logdir = G:\1HA_Mysql\MySQL Utilities\log

[storage]
address = localhost:3310
user = fabric
password = 123456
database = fabric
auth_plugin = mysql_native_password
connection_timeout = 6
connection_attempts = 6
connection_delay = 3

[servers]
user = fabric
password = 123456
backup_user = fabric
backup_password = 123456
restore_user = fabric
restore_password = 123456
unreachable_timeout = 20

[protocol.xmlrpc]
address = 192.168.9.24:32274
threads = 5
user = admin
password = 123456
disable_authentication = no
realm = MySQL Fabric
ssl_ca = 
ssl_cert = 
ssl_key = 

[protocol.mysql]
address = 192.168.9.24:32275
user = admin
password = 123456
disable_authentication = no
ssl_ca = 
ssl_cert = 
ssl_key = 

[executor]
executors = 5

[logging]
level = DEBUG
url = G:\1HA_Mysql\MySQL Utilities\log\fabric.log

[sharding]
mysqldump_program = G:/1HA_Mysql/MySQL Utilities/log/bin/mysqldump
mysqlclient_program = G:/1HA_Mysql/MySQL Utilities/log/bin/mysql
prune_limit = 10000

[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


3、初始化mysql fabric 管理节点, 管理节点就是[storage] 配置的数据库

mysqlfabric manage setup --param=storage.user=fabric --param=storage.password=fabric

初始化成功后可以看到数据生成如下数据库
在这里插入图片描述
4、配置数据库主从复制
创建用户及授权

CREATE USER 'fabric'@'localhost' IDENTIFIED BY 'fabric'; 
GRANT ALL ON *.* TO 'fabric'@'localhost';  

数据同步复制设置

grant replication slave on *.* to 'fabric'@'localhost';
reset slave;
reset master;

5、创建Mysql Fabric Group
cmd MySQL Utilities 目录下执行以下命令

# 创建组 my_group
mysqlfabric group create my_group 
#添加到组 my_group
mysqlfabric group add my_group localhost:3320
mysqlfabric group add my_group localhost:3330
mysqlfabric group add my_group localhost:3340

6、选举主数据库节点

# 自动选举一台数据库作为主数据库
mysqlfabric group promote my_group

7、设置Fabric在主服务器发生故障时,自动进行切换

# 自动选举一台数据库作为主数据库
mysqlfabric group activate my_group

8、 Mysql Fabric 常用命令

# 查看群组状态
mysqlfabric group lookup_servers my_group 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值