Centos7.9搭建MySQL-8.0.32 MGR集群

环境准备:

三台centos7.9系统

192.168.20.6 master

192.168.20.7 node1

192.168.20.8 node2

Mysql版本:8.0.32

下载地址: https://dev.mysql.com/downloads/mysql/

操作步骤:

1.前提条件(三台)

1.1关闭防火墙

systemctl stop firewalld&& systemctl disable firewalld

1.2关闭selinux

vi /etc/selinux/config

改为disabled

1.3修改hostname主机名

vi /etc/hostname

reboot重启

重启之后也查看一下selinux状态

getenforce

disable 是永久关闭selinux

1.4添加host

vi /etc/hosts

2.安装mysql数据库(三台)

2.1删除所有mysql,mariadb

rpm -qa |grep mysql

rpm -qa |grep mariadb

rpm -e qt-mysql-4.8.7-8.el7.x86_64 –nodeps

rpm -e akonadi-mysql-1.9.2-4.el7.x86_64 –nodeps

rpm -e mariadb-server-5.5.68-1.el7.x86_64 –nodeps

rpm -e mariadb-5.5.68-1.el7.x86_64 –nodeps

rpm -e mariadb-libs-5.5.68-1.el7.x86_64 –nodeps

2.2安装到home目录下

mkdir /home/mysql

mv /root/mysql-8.0.32-el7-x86_64.tar.gz/home/mysql/

cd /home/mysql

tar -zxvf mysql-8.0.32-el7-x86_64.tar.gz

mv mysql-8.0.32-el7-x86_64 mysql-8.0.32

mkdir -p /home/mysql/data

2.3创建用户和组

groupadd mysql

useradd -g mysql mysql

chown -R mysql.mysql /home/mysql/

chmod -R 755 /home/mysql/

2.4修改配置文件

vi /etc/my.cnf

[client]

port=3306

socket=/home/mysql/mysql.sock

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

server-id=1 #注意三台机器必须不同用1 2 3即可

port=3306

user=mysql

socket=/home/mysql/mysql.sock

basedir=/home/mysql/mysql8.0.32

datadir=/home/mysql/data

lower-case-table-names=1

character_set_server=utf8mb4

2.5初始化

./mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql--lower-case-table-names=1 --basedir=/home/mysql/mysql-8.0.32--datadir=/home/mysql/data

2.6配置环境变量

vi /etc/profile

export MYSQL_HOME=/home/mysql/mysql-8.0.32

export PATH=$MYSQL_HOME/bin:$PATH

末尾添加

2.7启动数据库

cp /home/mysql/mysql-8.0.32/support-files/mysql.server/etc/init.d/mysql

service mysql start

mysql -u root -p

3.配置MGR集群

3.1增加my.cnf配置文件(三台)

除主节点192.168.20.6外其他节点只需要修改loose-group_replication_local_address

和report_host即可。

vi /etc/my.cnf

log_bin=binlog-bin

log_slave_updates=ON

binlog_format=ROW

binlog_checksum=NONE

master_info_repository=TABLE

relay_log_info_repository=TABLE

gtid_mode=ON

enforce_gtid_consistency=true

disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY"

transaction_write_set_extraction=XXHASH64

loose-group_replication_group_name="bbbbbbbb-bbbb-cccc-dddd-eeeeeeeeeeee"

loose-group_replication_start_on_boot=OFF

loose-group_replication_local_address="192.168.20.6:33061"

loose-group_replication_group_seeds="192.168.20.6:33061,192.168.20.7:33061,192.168.20.8:33061"

loose-group_replication_bootstrap_group=OFF

report_host=192.168.20.6

report_port=3306

loose-group_replication_recovery_get_public_key=ON

3.2 重新启动mysql(三台)

service mysql restart

3.3增加mgr复制用户(三台)

SET SQL_LOG_BIN=0;

CREATE USER mgruser@'%' IDENTIFIED BY'mgruser';

GRANT REPLICATION SLAVE ON *.* TOmgruser@'%';

FLUSH PRIVILEGES;

SET SQL_LOG_BIN=1;

CHANGE MASTER TO MASTER_USER='mgruser',MASTER_PASSWORD='mgruser' FOR CHANNEL 'group_replication_recovery';

3.4下载mgr插件(三台)

install PLUGIN group_replication SONAME'group_replication.so';

查看是否安装成功

show plugins;

3.5启用mgr单主模式

3.5.1:主节点执行(20.6)

SET GLOBAL group_replication_bootstrap_group=ON;

START GROUP_REPLICATION;

SET GLOBALgroup_replication_bootstrap_group=OFF;

查看mgr组信息

SELECT * FROMperformance_schema.replication_group_members;

可以看到master已经成功启动

3.5.2从节点执行(20.7和20.8)

START GROUP_REPLICATION;

3.6查看mgr集群状态

SELECT * FROMperformance_schema.replication_group_members;

4.测试mgr群集读写

4.1创建数据库(master)

create database mgr;

查看数据库是否建成

show databases;

4.2在创建的库里面创建表和插入数据(master)

进去创建的库

use mgr;

创建表

CREATE TABLE `user` (

`id` bigint NOT NULL ,

`account` varchar(30) NOT NULL ,

`name` varchar(50) NOT NULL ,

PRIMARY KEY (`id`) USING BTREE,

UNIQUE KEY `UN_ACCOUNT` (`account`) USING BTREE

插入数据

INSERT INTO user VALUES (1, 'zhangsan', '张三');

INSERT INTO user VALUES (2, 'lisi', '李四');

4.3从库(20.7和20.8)里面查询库和表信息

查库

show databases;

查表

show tables;

查看数据

select * from user;

尝试用从库删除user表

delete from user

删除失败

因为从库只有查询的权限,没有更改的权限

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值