MySQL InnoDB Cluster安装

环境说明

centos 7.x 64位

mysql 5.7.20 编译源码安装

mysql shell linux generic版本

mysql router linux generic版本


路由节点1台


mysql节点3台

10.0.0.201 node201

10.0.0.202 node202

10.0.0.203 node203

MySQL InnoDB Cluster安装

借用了一下别人画的图, 挺好的,自己懒得画了。

node01对应node201, node02对应node202, node03对应node203.

node04是本人的一台ubuntu服务器。


创建集群

配置node201

修改配置文件/etc/my.cnf

MySQL InnoDB Cluster安装

mysqlsh

shell.connect('[email protected]:3306');

dba.configureLocalInstance();

MySQL InnoDB Cluster安装


以同样的方式配置node202, node203

注意my.cnf中server-id不同, 并且增加配置项group_replication_allow_local_disjoint_gtids_join = ON

MySQL InnoDB Cluster安装MySQL InnoDB Cluster安装

在node202, node203分别运行

mysqlsh

shell.connect('[email protected]:3306');

dba.configureLocalInstance();


路由节点配置

mysqlsh

shell.connect('[email protected]:3306');

var cluster = dba.createCluster('myCluster');

cluster.addInstance('[email protected]:3306');

cluster.addInstance('[email protected]:3306');

MySQL InnoDB Cluster安装


查看集群status

MySQL InnoDB Cluster安装


配置router

MySQL InnoDB Cluster安装


运行MySQL Workbench连接路由节点localhost:6446 (这里workbench和mysql router在同一台服务器)

接下来创建数据库web, 用户web, 表tUsers, 会看到数据会自动同步,底层技术是基于Paxos的Group Replication. 阿里alisql cluster, 腾讯phxsql原理都差不多。