MySQL 8.0.18 InnoDB Cluster 主从(MGR)完整安装配置

时间:2022-11-03 09:20:35

提示: MySQL InnoDB Cluster底层依赖Group Replication模式,至少3台机器

1.  准备3台 CentOS Linux 7 (Core), 修改各主机名:db-host1, db-host2, db-host3  然后配置各台机器 hosts 映射, 对应如下

cat << EOF >> /etc/hosts
192.168.50.181 db-host1
192.168.50.182 db-host2
192.168.50.183 db-host3
EOF

2. 确保3台服务器要互相访问正常,为了保险期间请关闭防火墙,firewalld常用命令 如:

# 启动
systemctl start firewalld # 关闭
systemctl stop firewalld # 查看状态
systemctl status firewalld # 开机禁用
systemctl disable firewalld # 开机启用
systemctl enable firewalld # 查看所有打开的端口
firewall-cmd --zone=public --list-ports

3. 确保互访使用ssh 共享,这里使用root 账户 如:在db-host1 执行,其它以此类推:

ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.50.182 ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.50.183

4. 准备安装 mysql-community-server,mysql-shell,mysql-router 在3台机器安装,注意版本:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
yum install mysql-community-server
wget https://dev.mysql.com/get/Downloads/MySQL-Shell/mysql-shell-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-shell-8.0.18-1.el7.x86_64.rpm
yum install mysql-shell
wget https://dev.mysql.com/get/Downloads/MySQL-Router/mysql-router-community-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-router-community-8.0.17-1.el7.x86_64.rpm
yum install mysql-router

5. 安装完MysqlServer 后,依次每台初始化mysql,步骤如下:#初始化:

mysqld --initialize;

#赋访问权限:
chown mysql:mysql /var/lib/mysql -R #启动mysql服务:
systemctl start mysqld.service; #设置mysql开机自启
mysql systemctl enable mysqld; #命令查看数据库的密码:
cat /var/log/mysqld.log | grep password #进入mysql命令行:
mysql -uroot -p (输入上述查看的数据库密码进入mysql命令行)
#命令来修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; #创建远程访问权限:
create user 'root'@'%' identified with mysql_native_password by '密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; flush privileges;

6. 由于依赖组复制,在host1 修改  /etc/my.cnf

server_id = 4000000161
loose-group_replication_group_name="a38e32fd-5fb6-11e8-ad7a-00259015d941"
loose-group_replication_local_address= "192.168.50.181:3306"
loose-group_replication_group_seeds= "192.168.50.181:3306,192.168.50.182:3306,192.168.50.183:3306"
loose-group_replication_single_primary_mode=TRUE

然后拷贝 /etc/my.cnf到另外2台机器

rsync -e "ssh -p22" -avpgolr /etc/my.cnf root@192.168.50.182:/etc/
rsync -e "ssh -p22" -avpgolr /etc/my.cnf root@192.168.50.183:/etc/

确保各自 server_id  和 address

host1    server_id = 4000000161

loose-group_replication_local_address= "192.168.50.181:3306"

host2    server_id = 4000000162

loose-group_replication_local_address= "192.168.50.182:3306"

host3    server_id = 4000000163

loose-group_replication_local_address= "192.168.50.183:3306"

7. 3台mysql server 启动组复制

start group_replication

8. 检查实例配置, 使用 mysqlsh

dba.checkInstanceConfiguration('root@db-host1:3306')
dba.checkInstanceConfiguration('root@db-host2:3306')
dba.checkInstanceConfiguration('root@db-host3:3306')

MySQL 8.0.18  InnoDB Cluster  主从(MGR)完整安装配置

8. 配置实例

dba.configureInstance('root@db-host1:3306',{'restart': true})
dba.configureInstance('root@db-host2:3306',{'restart': true})
dba.configureInstance('root@db-host3:3306',{'restart': true})

MySQL 8.0.18  InnoDB Cluster  主从(MGR)完整安装配置

9. 创建添加实例

var cluster = dba.createCluster('mycluster');
var cluster=dba.getCluster('mycluster')
cluster.addInstance('root@db-host2:3306');
cluster.addInstance('root@db-host3:3306');

10. 登录主服务器 ,查看,配置成功

mysql> select * from performance_schema.replication_group_members;

MySQL 8.0.18  InnoDB Cluster  主从(MGR)完整安装配置

注意:由于8.0 中的一些变化和5.X配置有所配置不同,按照以前的配置容易出错,要善于对应分析日志进行排错

推荐参考资料:

https://blog.csdn.net/wzy0623/article/details/100779450

https://www.jianshu.com/p/6e2918845ec8

https://lefred.be/content/mysql-8-0-innodb-cluster-the-quick-hands-on-manual/

https://cloud.tencent.com/developer/article/1445710

MySQL 8.0.18 InnoDB Cluster 主从(MGR)完整安装配置的更多相关文章

  1. mysql 8&period;0&period;18 mgr 搭建及其切换

    mysql 8.0.18 mgr 搭建及其切换 一.系统安装包 yum -y install make gcc-c++ cmake bison-devel ncurses-devel readline ...

  2. mysql 8&period;0&period;18 手工安装记录

    mysql 8.0.18 手工安装记录 为了日常方便,特记录如下. 一.安装系统依赖包 #.系统依赖包安装 yum -y install make gcc-c++ cmake bison-devel ...

  3. win10 安装mysql 8&period;0&period;18 解决Navicat初次连接报错

    win10 安装mysql 8.0.18 解决Navicat初次连接报错 win10 安装mysql 8.0.18-winx64 一,先去官网下载mysql 安装包 https://dev.mysql ...

  4. MySQL 8&period;0&period;18安装教程&lpar;windows 64位&rpar;

    目录 1-先去官网下载点击的MySQL的下载​ 2-配置初始化的my.ini文件的文件3-初始化MySQL4-安装MySQL服务 + 启动MySQL 服务5-连接MySQL + 修改密码 * 第一项 ...

  5. mysql 8&period;0&period;18 hash join测试(内外网首文)

    CREATE TABLE COLUMNS_hj as select * from information_schema.`COLUMNS`; INSERT INTO COLUMNS_hj SELECT ...

  6. MySQL 8&period;0&period;18 在 Windows Server 2019 上的安装(ZIP)公开

    AskScuti MySQL : Windows Server 2019 安装 MySQL 8.0 温馨提示:为了展现我最“魅力”的一面,请用谷歌浏览器撩我. 一切就绪,点我开撩

  7. MySQL 8&period;0&period;18 在 Windows Server 2019 上的安装(MSI)公开

    AskScuti MySQL : Windows Server 2019 安装 MySQL 8.0 温馨提示:为了展现我最“魅力”的一面,请用谷歌浏览器撩我.那个 IE 啊,我很无奈. 一切就绪,点我 ...

  8. Ubuntu 16&period;04 &plus; CUDA 8&period;0 &plus; cuDNN v5&period;1 &plus; TensorFlow&lpar;GPU support&rpar;安装配置详解

    随着图像识别和深度学习领域的迅猛发展,GPU时代即将来临.由于GPU处理深度学习算法的高效性,使得配置一台搭载有GPU的服务器变得尤为必要. 本文主要介绍在Ubuntu 16.04环境下如何配置Ten ...

  9. mysql 8&period;0&period;18 小白安装教程

    1. 下载 官网下载:https://dev.mysql.com/downloads/mysql/ 嫌官网网速慢可以加q群,在群文件里下载: 1.下载第一个download 2.解压在自己建的目录(各 ...

随机推荐

  1. iOS自定义model排序

    在开发过程中,可能需要按照model的某种属性排序. 1.自定义model @interface Person : NSObject @property (nonatomic,copy) NSStri ...

  2. texconv下载以及使用命令

    包含texconv.exe,测试图片和测试批处理文件 命令: texconv.exe -ft DDS .\src\*.bmp -o .\output\ 下载: http://files.cnblogs ...

  3. 告别无止境的增删改查:Java代码生成器

    对于一个比较大的业务系统,我们总是无止境的增加,删除,修改,粘贴,复制,想想总让人产生一种抗拒的心里.那有什么办法可以在正常的开发进度下自动生成一些类,配置文件,或者接口呢?   有感于马上要做个比较 ...

  4. document&period;body&period;scrollTop 值总为0

    http://www.jb51.net/article/21168.htm 页面具有 DTD(或者说指定了 DOCTYPE)时,使用 document.documentElement.     做页面 ...

  5. Red Hat 7&period;0 DNS服务配置笔记

    先挂载镜像,然后配置yum,然后安装yum install -y bind 配置静态 IP.DNS就是他本身的IP地址. 修改DNS的配置文件,在后面加入区域配置信息.vim /etc/named.c ...

  6. 浅谈Spring

    参考文章: https://www.ibm.com/developerworks/cn/java/j-lo-spring-principle/ 参考书籍: <SPRING技术内幕:深入解析SPR ...

  7. Unity中雾效的开启

    原文:https://blog.csdn.net/Rhett_Yuan/article/details/54425236 1.对于雾效的开启在新版的Unity中通过界面菜单Windows->Li ...

  8. word之高级

    1.更正拼写和语法错误. 2.取消自动编号. 3.添加删除水印. 4.段落设置首行缩进2个字符. 需要先选中需要设置的段落 5.文字覆盖. insert键切换插入与改写功能.修改word状态栏上的改写 ...

  9. &lbrack;UE4&rsqb;函数分组

    函数分组相当于C#里面的“#region #end region”折叠注释

  10. 如何简单区分Web前后端与MVC

    MVC是开发所有软件所必须涉及的基本几个划分 M主要负责数据与模型,V主要负责显示C主要负责交互与业务所以不管是前端还是后端,都是有MVC的.MVC是一个对于软件简单的抽象,不管是M还是V,还是C都是 ...