mysql 8.0 不支持集群_MySQL数据库之搭建 MySQL 8.0 InnoDB Cluster

这篇博客详细介绍了如何在三个节点上搭建 MySQL 8.0 的 InnoDB Cluster,包括安装步骤、配置 my.cnf 文件、创建复制账户以及集群的启动和管理,为学习 MySQL 集群的读者提供了实用指导。
摘要由CSDN通过智能技术生成

本文主要向大家介绍了MySQL数据库之搭建 MySQL 8.0 InnoDB Cluster ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。

1、在三个节点上安装 MySQL 8.0

rpm -i https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

yum install mysql-community-{server,client,common,libs}-*

systemctl start mysqld

2、修改 my.cnf 配置文件

#节点1

server_id=1

gtid_mode=ON

enforce_gtid_consistency=ON

binlog_checksum=NONE

transaction_write_set_extraction=XXHASH64

loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"

loose-group_replication_start_on_boot=off

loose-group_replication_local_address= "192.168.1.249:24901"

loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"

loose-group_replication_bootstrap_group=off

loose-group_replication_ip_whitelist="192.168.1.0/24"

#节点2

server_id=2

gtid_mode=ON

enforce_gtid_consistency=ON

binlog_checksum=NONE

transaction_write_set_extraction=XXHASH64

loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"

loose-group_replication_start_on_boot=off

loose-group_replication_local_address= "192.168.1.252:24901"

loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"

loose-group_replication_bootstrap_group=off

loose-group_replication_ip_whitelist="192.168.1.0/24"

loose-group_replication_allow_local_disjoint_gtids_join=ON

#节点3

server_id=3

gtid_mode=ON

enforce_gtid_consistency=ON

binlog_checksum=NONE

transaction_write_set_extraction=XXHASH64

loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"

loose-group_replication_start_on_boot=off

loose-group_replication_local_address= "192.168.1.253:24901"

loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"

loose-group_replication_bootstrap_group=off

loose-group_replication_ip_whitelist="192.168.1.0/24"

loose-group_replication_allow_local_disjoint_gtids_join=ON

3、在三个节点创建复制账户

SET SQL_LOG_BIN=0;

alter user root@'localhost' identified by 'MySQL8.0';

CREATE USER root@'%' IDENTIFIED BY 'MySQL8.0';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO 'root'@'%' WITH GRANT OPTION;

GRANT BACKUP_ADMIN, BINLOG_ADMIN, CONNECTION_ADMIN, ENCRYPTION_KEY_ADMIN, GROUP_REPLICATION_ADMIN, PERSIST_RO_VARIABLES_ADMIN, REPLICATION_SLAVE_ADMIN, RESOURCE_GROUP_ADMIN, RESOURCE_GROUP_USER, ROLE_ADMIN, SET_USER_ID, SYSTEM_VARIABLES_ADMIN, XA_RECOVER_ADMIN ON *.* TO 'root'@'%' WITH GRANT OPTION;

FLUSH PRIVILEGES;

SET SQL_LOG_BIN=1;

4、在第一个节点创建集群并添加节点二、节点三

MySQL  JS > shell.connect('root@kuber01:3306')

MySQL  kuber01:3306 ssl  JS > cluster.addInstance('root@node02:3306');

MySQL  kuber01:3306 ssl  JS > cluster.addInstance('root@node03:3306');

MySQL  kuber01:3306 ssl  JS > cluster.status();

5、所有节点停止后重启集群:

var cluster = dba.rebootClusterFromCompleteOutage('myCluster');

6、配置 MySQL Router

mysqlrouter --bootstrap root@kuber01:3306 --user=mysqlrouter

mysqlrouter &

本文由职坐标整理并发布,希望对同学们学习MySQL有所帮助,更多内容请关注职坐标数据库MySQL数据库频道!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值