MySQL 应用高可用部署方案(shell+router+mgr)

  1. 官方结构图
    在这里插入图片描述

2、具体步骤

(1)搭建mysql group application,参考 Mysql 高可用方案 MGR(Mysql Group Replication)配置及常见问题

(2)mysql主节点安装mysql shell

mysqlsh 进入mysql-shell 客户端

shell.connect('root@node1:3306);

var cluster = dba.createCluster('prodCluster', {adoptFromGR: true});

cluster.status();

在这里插入图片描述
在这里插入图片描述集群正常.。

(3) 应用服务器安装mysql-router,并且配置mysql 3台主机及IP转换 /etc/hosts

     mysqlrouter --bootstrap ic@ic-1:3306 --user=root  

输完密码后,mysql-router会自动获取cluster信息,并生成mysqlrouter.conf在安装目录。
在这里插入图片描述

(4) 启动mysql-router

mysqlrouter & 

(5) 应用服务器配置mysql-router 读写端口 6446 实现mysql failover时的高可用,对应用无感。

 jdbc.ums.url=jdbc:mysql://192.168.100.35:6446/ums?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false

3 注意事项

(1) mysql-router 由于并发能力为500,所以官方推荐每个应用节点部署一个mysql-router节点。因此也增加了部署复杂度。

(2) 应用如果多节点部署,每个应用节点应连接自己节点mysql-router

4、状态查看

(1) 用mysql shell 连接mysqlrouter地址

 mysqlsh --uri root@192.168.100.35:6446

(2)查看cluster状态

cluster = dba.getCluster();

cluster.status();

mysqlsh --uri root@localhost:6446ysqlsh --uri root@localhost:644

5、参考文献

  1. https://dev.mysql.com/doc/refman/5.7/en/mysql-innodb-cluster-userguide.html
  2. https://mysqlserverteam.com/mysql-innodb-cluster-8-0-a-hands-on-tutorial/
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL高可用(MGR)是一种在MySQL环境中实现高可用性和容错性的技术。下面是在Windows上使用MySQL ShellMySQL Router搭建MySQL高可用(MGR)的具体实现步骤: 1. 确认你已经安装MySQL ShellMySQL Router,并且它们都可以正常运行。 2. 打开MySQL Shell,使用以下命令连接到MySQL Server: ``` mysqlsh --uri root@localhost:3306 ``` 3. 创建一个新的ReplicaSet: ``` var mysqlx = session.getSchema('mysql').getClient(); mysqlx.shardCreate("myCluster") ``` 4. 添加节点到ReplicaSet中: ``` mysqlx.addShardInstance("root@localhost:3307", {group: "myCluster"}) mysqlx.addShardInstance("root@localhost:3308", {group: "myCluster"}) ``` 5. 启动MySQL Router,并配置它来连接到ReplicaSet: ``` mysqlrouter --bootstrap root@localhost:3306 --directory router --conf-use-rewriter=1 --conf-base-port=3000 --conf-dest-port=3306 --conf-target-auth=mysql_native_password --conf-source=mysql://root@localhost:3306 --conf-use-ssl=0 --conf-routing-strategy=round-robin --user=mysqlrouter --name=router ``` 6. 验证MySQL Router是否可以连接到ReplicaSet: ``` mysqlsh --uri mysqlrouter://router:mysqlrouter@localhost:3000 \sql SELECT * FROM performance_schema.replication_group_members; ``` 如果上述命令能够成功执行,并且返回所有节点的信息,则说明MySQL高可用(MGR)已经成功搭建。 注意:以上命令可能需要根据你的实际情况进行一些修改,例如用户名、密码、ReplicaSet名称等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值