MySQL8.0搭建MGR

1.购买ECS

在这里插入图片描述

2. 改名

2.1 改名(全):

 hostnamectl set-hostname `n0``n2`

在这里插入图片描述

2.2: 修改hosts文件

在这里插入图片描述

2.3: 免密:

在这里插入图片描述

在这里插入图片描述

3.下载mysql

3.1 下载

链接:
https://obs-xps.obs.cn-southwest-2.myhuaweicloud.com:443/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar?AccessKeyId=5IOQFTPPBW8KZYD2MYLO&Expires=1728809402&Signature=FcWVTnKR19mqqeEgULble8rk8mw%3D
在这里插入图片描述

3.2 清除环境(全):

rpm -qa | grep mysql
rpm -qa | grep mariadb

在这里插入图片描述

3.3 安装(全):

mkdir mysql
ls
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar -C /root/mysql
cd /root/mysql
yum -y install mysql-community-*
systemctl enable --now mysqld.service

在这里插入图片描述

3.4 启动mysql(全):

在这里插入图片描述

3.5 配置用户(全):

以下是修改MySQL密码和创建用户的代码整理:

1. 修改root密码为Huawei@1234!```
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Huawei@1234!';
```

2. 创建rpl_user账户,用于主从数据同步:
```
CREATE USER rpl_user@'%' IDENTIFIED BY 'Huawei@1234!';
```

3. 赋予rpl_user账户子主从同步权限:
```
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
```

4. 创建一个远程连接用户(remote):
```
CREATE USER 'remote'@'%' IDENTIFIED WITH mysql_native_password BY 'Huawei@1234!';
```

5. 授予remote用户对所有数据库资源的访问权限:
```
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%';
```

6. 让权限修改生效:
```
FLUSH PRIVILEGES;
```

以下是解决问题的整理:

1. 问题描述:在进行主从同步过程中,从属服务器出现卡死在"RECEVING"状态的问题。

2. 分析问题原因:发现之前的Binlog文件中包含了创建用户这种高权限操作,而用于主从同步的rpl_user账户没有执行这些高权限操作的权限。这导致了RelayLog重放无法正确执行,从而导致从属服务器卡死。

3. 解决方案:使用RESET MASTER命令来删除已经产生的Binlog文件,包括之前的高权限操作。这样就能解决RelayLog重放无法正确执行的问题。

4. 执行操作:执行以下命令来进行删除操作:
```
RESET MASTER;
```

通过执行RESET MASTER命令,删除无法执行的Binlog文件,解决从属服务器卡死的问题。

请根据需要将解决方案适配到您的环境中。


安装插件
install PLUGIN group_replication SONAME 'group_replication.so';
查看插件是否安装完成
show plugins;

安装插件

install PLUGIN group_replication SONAME 'group_replication.so';

查看插件是否安装完成

show plugins;

在这里插入图片描述

4.配置my.cnf

4.1 主:

cat << EOF >> /etc/my.cnf
# 使用mysql_native_password密码策略,防止navicat连不上mysq1
default_authentication_plugin=mysql_native_password

# 设置MySQL插件所在目录,因为MGR基于插件,所以必须设置插件路径
plugin_dir=/usr/lib64/mysql/plugin

# 服务器编号,Master=1
server_id=1

# 开启binlog的GTID模式
gtid_mode=ON


# 开启后MySQL只允许能够保障事务安全,并且能够被日志记录的SQL语句被执行
enforce_gtid_consistency=ON

# 关闭binlog校验
binlog_checksum=NONE

# 定义用于事务期间哈希写入提取的算法,组复制模式下必须设置为 XXHASH64。
transaction_write_set_extraction=XXHASH64

# 确定组复制恢复时是否应该应用 SSL,通常设置为“开”,但默认设置为“关”。
loose-group_replication_recovery_use_ssl=ON

# 该服务器的实例所在复制组的名称,必须是有效的 UUID,所有节点必须相同。
loose-group_replication_group_name="37e79c3a-68dd-11ee-b881-fa163eaa0632"

# 确定服务器是否应该在服务器启动期间启动组复制
loose-group_replication_start_on_boot=OFF

# 大坑2:为复制组中其他的成员提供的网络地址,指定为“主机:端口”的格式化字符串。
# 很多人想当然认为端口应该是3306,起始不然,MGR需要开启新端口24901同步交换
# 所以这里不要写错,同时,前面我们配置了hosts文件做了主机名与IP的映射,这里直接写主机名即可
loose-group_replication_local_address="n0:24901"

# 同样采用n0~n2的主机名替代
loose-group_replication_group_seeds="n0:24901,n1:24901,n2:24901"

# 配置此服务器为引导组,这个选项必须仅在一台服务器上设置
loose-group_replication_bootstrap_group=OFF
log_slave_updates=ON
binlog_format=ROW

EOF

4.2 从1:

cat << EOF >> /etc/my.cnf
default_authentication_plugin=mysql_native_password
plugin_dir=/usr/lib64/mysql/plugin

# 设置唯一的服务器编号
server_id=2
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE

# 这个参数决定 primary 节点到 secondary 节点的请求是否为基于 RSA 密钥对的密码交换所需的公钥
loose-group_replication_recovery_get_public_key=ON

loose-group_replication_recovery_use_ssl=ON
loose-group_replication_group_name="37e79c3a-68dd-11ee-b881-fa163eaa0632"
loose-group_replication_start_on_boot=OFF

# 设置本机地址 n1:24901
loose-group_replication_local_address="n1:24901"
loose-group_replication_group_seeds="n0:24901,n1:24901,n2:24901"

 loose-group_replication_bootstrap_group=OFF

4.2 从2:

cat << EOF >> /etc/my.cnf
default_authentication_plugin=mysql_native_password
plugin_dir=/usr/lib64/mysql/plugin

# 设置唯一的服务器编号
server_id=3
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE

# 这个参数决定 primary 节点到 secondary 节点的请求是否为基于 RSA 密钥对的密码交换所需的公钥
loose-group_replication_recovery_get_public_key=ON

loose-group_replication_recovery_use_ssl=ON
loose-group_replication_group_name="37e79c3a-68dd-11ee-b881-fa163eaa0632"
loose-group_replication_start_on_boot=OFF

# 设置本机地址 n1:24901
loose-group_replication_local_address="n2:24901"
loose-group_replication_group_seeds="n0:24901,n1:24901,n2:24901"

 loose-group_replication_bootstrap_group=OFF
EOF

5.验证

5.1 写个数据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这里插入图片描述

存在,创建成功

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值