Category Archives: High Availability

MySQL InnoDB Cluster – A Hands on Tutorial

传统上,基于MySQL配置高可用(HA)是一项具有挑战的任务,特别是对于在MySQL方面没有进阶知识的人。即使只是计划做一次测试部署,从理解相关概念和技术到相关工具的使用、具体 命令和文件的执行和编辑,有很多需要你去了解的事情(Group Replication的 快速入门指南应该会对你有所启发)。 所以很多人一直拖着不去设置HA,直到灾难性打击和宕机事件的出现。

Oracle的MySQL团队最近发布了一个解决方案的预览版本,这个解决方案的目标是:让用户很容易就能把多个MySQL实例集成在一起提供冗余,来支持MySQL数据库高可用的特性。

在本文中,我们会使用新的MySQL Shell来创建三个沙箱实例,使用它们创建一个三个节点的Group Replication,并且使用MySQL Router作为中间层来将多个MySQL实例隐藏在一个TCP端口之后。Group Replication为InnoDB提供了同步复制和内置的Failover机制,同时Router可以让应用程序始终连接到集群中合适的节点上,除了对MySQL的连接参数做些调整外,不需要修改应用程序的任何代码。

下载和安装依赖包

除MySQL 5.7.17之外,你还需要从labs.mysql.com下载MySQL InnoDB Cluster包,里面包括以下内容:

  • MySQL Router 2.1.1 labs
  • MySQL Shell 1.0.6 labs with X AdminAPI

压缩包必须要解压,然后通过特定平台的具体方法,为各个组件安装对应的包。

部署沙箱实例

第一步是部署一个MySQL Server沙箱实例,这样我们就可以安全地玩耍以及试验,而不会影响已有的MySQL数据库。

启动MySQL Shell(像平常一样,使用non-root OS用户):

然后执行: