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
借用了一下别人画的图, 挺好的,自己懒得画了。
node01对应node201, node02对应node202, node03对应node203.
node04是本人的一台ubuntu服务器。
创建集群
配置node201
修改配置文件/etc/my.cnf
mysqlsh
shell.connect('[email protected]:3306');
dba.configureLocalInstance();
以同样的方式配置node202, node203
注意my.cnf中server-id不同, 并且增加配置项group_replication_allow_local_disjoint_gtids_join = ON
在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');
查看集群status
配置router
运行MySQL Workbench连接路由节点localhost:6446 (这里workbench和mysql router在同一台服务器)
接下来创建数据库web, 用户web, 表tUsers, 会看到数据会自动同步,底层技术是基于Paxos的Group Replication. 阿里alisql cluster, 腾讯phxsql原理都差不多。