docker compose 部署MySQL InnoDB Cluster + Router 高可用集群-亲测可用

前言

记录docker compose 部署MySQL InnoDB Cluster + Router 高可用集群

现在有三台服务器:

172.16.10.80

172.16.10.98

172.16.10.97

通过网盘分享的文件:mysql集群部署.zip

链接: https://pan.baidu.com/s/1XiSMzs2pQ0qly1dRCg26KA?pwd=5ga8 提取码: 5ga8

快速部署

步骤一:下载压缩包解压

将 mysql集群部署\ip\mysql 文件夹上传到对应服务器 /home 文件夹下

步骤二:修改 /home/mysql/conf/my.cnf 文件

步骤三启动容器:

进入80 97 98服务器执行命令启动mysql容器

cd /home/mysql

docker compose up -d
安装 MySQL shell

sudo apt update

sudo apt install mysql-shell

配置 InnoDB Cluster 注:需要输入mysql密码配置得是root123输入即可

mysqlsh root@172.16.10.80:3306

// 初始化当前实例,注册到 MySQL Shell

dba.configure_instance('root@172.16.10.80:3306')

// 创建集群(首次执行)

cluster = dba.create_cluster('myCluster')

// 初始化其他节点

dba.configure_instance('root@172.16.10.97:3306')

dba.configure_instance('root@172.16.10.98:3306')

// 加入到集群当中

cluster.add_instance('root@172.16.10.97:3306')

cluster.add_instance('root@172.16.10.98:3306')

连接80 97 98 mysql执行

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root123';

FLUSH PRIVILEGES;

进入80服务器执行命令启动mysql-router容器

cd /home/mysql/mysqlrouter

docker compose up -d

启动成功:mysqlrouter 172.16.10.80 6446端口(读写)/ 6447 (读)

MySQL Router 就是 MySQL 集群的智能"流量转发器",把应用的请求自动送到正确的节点,实现读写分离、负载均衡和高可用。

yml配置

复制代码
#${MYSQL_HOST:mysqlrouter} 不走环境变量可用改成 ${MYSQL_HOST:172.16.10.80}
spring:
  datasource:
    url: jdbc:mysql:replication://${MYSQL_HOST:mysqlrouter}:6446,${MYSQL_HOST:mysqlrouter}:6447/${MYSQL_DB:test}?roundRobinLoadBalance=true&autoReconnect=true&zeroDateTimeBehavior=convertToNull&characterEncoding=UTF-8&useUnicode=true&useSSL=false&serverTimezone=Hongkong&useAffectedRows=true&allowMultiQueries=true&rewriteBatchedStatements=true

参考文档:

https://www.cnblogs.com/wandereryjh/p/18851526

相关推荐
SpikeKing3 小时前
Server - 服务器 CentOS 安装与配置 Docker
服务器·docker·centos
猿小喵3 小时前
MySQL长时间未提交事务分析
数据库·mysql·性能优化
江不清丶3 小时前
深入剖析 MySQL 日志系统:Redo Log、Undo Log 与 Binlog 的协同工作原理
数据库·mysql·adb
光泽雨4 小时前
mysql中的事务
数据库·mysql
黑牛儿4 小时前
MySQL 备份与恢复详细步骤(新手版)
数据库·mysql·dba
fundoit4 小时前
MySQL问题收集
数据库·人工智能·mysql·智能体
计算机学姐4 小时前
基于SpringBoot的在线学习网站平台【个性化推荐+数据可视化+课程章节学习】
java·vue.js·spring boot·后端·学习·mysql·信息可视化
Chasing__Dreams4 小时前
Mysql--基础知识点--94.1--嵌套子查询转关联查询
数据库·mysql
qq_283720054 小时前
Python 操作 MySQL 数据库全解:增删改查、事务、连接池与性能优化
数据库·python·mysql