mysql mgr 搭建

最近因为压测的需求需要使用mgr搭建数据库,网上教程也比较多,但是实际自己操作还是会遇到很多问题,所以记录下来以后再去搞就更熟练了。感谢大佬的博客,基本流程就是这个博客里的步骤。

MySQL MGR 集群搭建(单主模式&多主模式) - 简书 (jianshu.com)

安转mysql,我这次使用的是mysql8.0,在三台机器搭建

1.新建mysql配置文件,就是那个cnf结尾的文件,可以自己定义名字,新建文

件/home/mysql/etc/mysql_mgr.cnf

每个节点都需要配置,serverid和loose-group_replication_local_address,report_host三个参数不一样,配置的时候还需要注意要保证不同的节点之间网络是要互通的

[mysqld]
port=3306
basedir=/usr/local/mysql8.0
datadir=/mysql/data_mgr_8.0/
socket=/mysql/data_mgr_8.0/mysql.sock
pid_file=/mysql/data_mgr_8.0/mysql.pid
default_authentication_plugin=mysql_native_password

server_id=2
gtid_mode=ON
enforce_gtid_consistency=ON
binlog_checksum=NONE

log_bin=binlog
log_slave_updates=ON
binlog_format=ROW
master_info_repository=TABLE
relay_log_info_repository=TABLE

transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"
loose-group_replication_start_on_boot=OFF

这里33062及其他两个端口自己去定义
loose-group_replication_local_address= "172.16.40.7:33062"
loose-group_replication_group_seeds= "172.16.40.6:33061,172.16.40.7:33062,172.16.40.2:33063"
loose-group_replication_bootstrap_group=OFF

需要注意这句不能少,配置允许接入组的ip
loose-group_replication_ip_whitelist="172.16.40.7,172.16.40.6,172.16.40.2"

这里配置本节点的ip

report_host=172.16.40.7
report_port=3306
[client]
port=3306
socket=/mysql/data_mgr_8.0/mysql.sock

2.初始化数据库

useradd mysql
mkdir -p /mysql/data_mgr_8.0
sudo chown -R mysql.mysql /mysql/data_mgr_8.0/
sudo chown -R mysql.mysql /home/mysql/etc/
/usr/local/mysql8.0/bin/mysqld --initialize-insecure --basedir=/usr/local/mysql8.0 --datadir=/mysql/data_mgr_8.0 --user=mysql

3.按照步骤启动数据库,安装插件,设置账号

# 启动数据库
su - mysql -c "/usr/local/mysql8.0/bin/mysqld_safe --defaults-file=/home/mysql/etc/my_mgr_8.0.cnf &"

# 登录数据库
/usr/local/mysql8.0/bin/mysql -S /mysql/data_mgr_8.0/mysql.sock

# 安装MGR插件
mysql>INSTALL PLUGIN group_replication SONAME 'group_replication.so';

#设置复制账号
mysql> SET SQL_LOG_BIN=0;
mysql> CREATE USER repl@'%' IDENTIFIED BY 'repl';
mysql> GRANT REPLICATION SLAVE ON *.* TO repl@'%';
mysql> FLUSH PRIVILEGES;
mysql> SET SQL_LOG_BIN=1;
mysql> CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='repl' FOR CHANNEL 'group_replication_recovery';

4.设置为单住模式

在mgr主节点执行

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

 其他节点执行:

START GROUP_REPLICATION;

切换主节点方式在大佬的文章中也有,下面主要记录出现的问题及解决办法。因为删除了data数据重新安装初始化,前面踩的坑只能描述下

1.需要注意几个节点之间的ip是互通的

2.需要注意mysql的版本,8以上版本会有密码编码的问题

3.如果一直处于reciever状态,可以使用restart master来尝试

TEST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值