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

  1. 官方结构图
    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();

MySQL 应用高可用部署方案(shell+router+mgr)_第2张图片
MySQL 应用高可用部署方案(shell+router+mgr)_第3张图片集群正常.。

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

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

输完密码后,mysql-router会自动获取cluster信息,并生成mysqlrouter.conf在安装目录。
MySQL 应用高可用部署方案(shell+router+mgr)_第4张图片

(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 [email protected]: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/

你可能感兴趣的:(高性能MySQL)