- 官方结构图
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、参考文献
- https://dev.mysql.com/doc/refman/5.7/en/mysql-innodb-cluster-userguide.html
- https://mysqlserverteam.com/mysql-innodb-cluster-8-0-a-hands-on-tutorial/