如何安装mgr mysql控制平面服务?

安装 MySQL 控制平面服务涉及下载、配置和启动服务,以确保数据库集群的高效管理。

MySQL Group Replication(简称MGR)是MySQL 5.7.17版本引入的一种插件,用于实现高可用性和数据一致性的分布式数据库集群,它基于原生复制和Paxos协议,支持自动故障转移和多主模式,本文将详细介绍如何在三台服务器上安装和配置MGR控制平面服务

一、环境准备

mgr mysql_控制平面服务安装

在开始之前,需要准备三台服务器,每台服务器分配公网IP,并开放必要的端口(22、3306、24901),以下是服务器的配置:

IP 角色 主机名 MySQL版本 DB端口 MGR端口
172.21.180.98 Master n0 8.0.26 3306 24901
172.21.180.99 Slave n1 8.0.26 3306 24901
172.21.180.100 Slave n2 8.0.26 3306 24901

二、系统环境和网络配置

1. 配置Hosts文件

在所有节点上执行以下命令,将内网IP与主机名进行关联:

sudo cat > /etc/hosts <<-'EOF'
172、21.180.98 n0
172、21.180.99 n1
172、21.180.100 n2
EOF

2. 设置主机名称

分别在三台服务器上设置主机名称:

第1台服务器
hostnamectl set-hostname n0
第2台服务器
hostnamectl set-hostname n1
第3台服务器
hostnamectl set-hostname n2

三、安装MySQL

1. 下载并安装MySQL官方YUM仓库源

在三台服务器上执行以下命令:

cd /home/
wget --no-check-certificate https://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm
yum localinstall -y mysql80-community-release-el7-5.noarch.rpm

2. 修改仓库配置

编辑/etc/yum.repos.d/mysql-community.repo文件,将gpgcheck设置为0:

mgr mysql_控制平面服务安装
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el7/x86_64/
enabled=1
gpgcheck=0

3. 安装MySQL

在三台服务器上执行以下命令:

yum install -y mysql-community-server-8.0.26

四、配置MySQL

1. 修改MySQL配置文件

在所有节点上,编辑/etc/my.cnf文件,添加以下内容:

[mysqld]
default_authentication_plugin=mysql_native_password
plugin_dir=/usr/lib64/mysql/plugin
server_id=1 # 根据节点不同设置不同的server_id
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_format=ROW
transaction_write_set_extraction=XXHASH64
loose-group_replication_start_on_boot=off
loose-group_replication_local_address="n0:33061" # 根据实际节点IP和端口修改
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" # 使用UUID生成工具生成
loose-group_replication_group_seeds="n0:33061,n1:33061,n2:33061"
loose-group_replication_bootstrap_group=off
loose-group_replication_recovery_use_ssl=on

2. 初始化MySQL数据库

在所有节点上执行以下命令,初始化MySQL数据库:

mysqld --initialize --user=mysql --basedir=/usr/bin --datadir=/var/lib/mysql

3. 启动MySQL服务

在所有节点上执行以下命令,启动MySQL服务:

systemctl start mysqld
systemctl enable mysqld

4. 配置防火墙(可选)

mgr mysql_控制平面服务安装

如果需要,可以配置防火墙以允许MySQL和MGR通信:

firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --permanent --add-port=24901/tcp
firewall-cmd --reload

五、安装MGR插件

在所有节点上登录MySQL,执行以下命令安装MGR插件:

INSTALL PLUGIN group_replication SONAME 'group_replication.so';

六、配置MGR

1. 创建复制用户并授权

在所有节点上执行以下SQL语句,创建复制用户并授予权限:

CREATE USER 'mgr_user'@'%' IDENTIFIED BY 'password';
GRANT CLONE_ADMIN, CLONE_NODE, REPLICATION_SLAVE_ADMIN, REPLICATION_CLIENT ON *.* TO 'mgr_user'@'%';
FLUSH PRIVILEGES;

2. 创建MGR集群

在其中一个节点上(例如n0),执行以下SQL语句,创建MGR集群:

SET GLOBAL group_replication_bootstrap_group=ON;
START GROUP_REPLICATION;
SET GLOBAL group_replication_bootstrap_group=OFF;

3. 添加其他节点到集群

在其他节点(n1和n2)上,执行以下SQL语句,将它们添加到MGR集群:

SET GLOBAL group_replication_bootstrap_group=OFF;
START GROUP_REPLICATION;

七、验证MGR集群状态

在所有节点上执行以下SQL语句,检查MGR集群状态:

SHOW STATUS LIKE 'group_replication%';

八、常见问题及解答(FAQs)

Q1: 如果某个节点出现故障,MGR集群如何处理?

A1: MGR具有自动故障转移功能,如果某个节点出现故障,MGR会自动重新选举新的主节点,并恢复集群的正常运作,确保网络连接正常,避免因网络问题导致节点失联。

Q2: MGR支持哪些存储引擎?

A2: MGR仅支持InnoDB存储引擎,并且要求每张表必须有一个主键或唯一索引,以确保数据的一致性和冲突检测。

Q3: MGR集群最多支持多少个节点?

A3: MGR集群最多支持9个节点,这是经过测试确定的安全边界,超过此数量可能会导致性能下降或稳定性问题。

Q4: 如何更改单主模式为多主模式?

A4: MGR默认为单主模式,可以通过修改group_replication_single_primary_mode参数来切换模式,在my.cnf中添加或修改以下内容:

[mysqld]
group_replication_single_primary_mode=OFF

然后重启MySQL服务即可生效,需要注意的是,多主模式下所有节点都可以处理更新操作,但可能会增加冲突的风险。

通过以上步骤,您已经成功搭建了一个基于MySQL Group Replication的高可用性数据库集群,MGR提供了强大的数据一致性保障和自动故障转移能力,适用于金融交易、重要数据存储等对数据一致性要求较高的场景,希望本文能帮助您更好地理解和部署MGR控制平面服务。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1393609.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希
上一篇 2024-12-09 03:24
下一篇 2024-12-09 03:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入