前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL8.0.19的InnoDB ReplicaSet

MySQL8.0.19的InnoDB ReplicaSet

作者头像
MySQLSE
发布2020-09-28 15:16:24
4900
发布2020-09-28 15:16:24
举报
文章被收录于专栏:MySQL解决方案工程师

MySQL8.0.19里面推出了一个新功能,InnoDB ReplicaSet,我暂且管它叫做叫做复制集。那么这个复制集是做什么用的呢?为何要推出这样一款产品呢?它将如何使用呢?这篇文章里我将会简单的介绍一下它。

InnoDB ReplicaSet由一个主节点和多个从节点组成,与传统主从复制的主从节点非常类似,所有的节点必须基于GTID,并且数据复制采用异步的方式。通过使用MySQL Shell的AdminAPI和ReplicaSet对象,用户可以像配置InnoDB Cluster那样非常简单地去搭建一主多从的复制架构。此外,使用复制集还可以接管既有的主从复制,但是需要注意,一旦被接管,只能通过AdminAPI对其进行管理。

为何要推出这样一款产品呢?首先,使用它可以非常容易的配置传统的主从复制,适用于一些对高可用性要求不高的场景,可用性要求高的情况下,还是推荐使用InnoDB Cluster。其次,该操作是集成在AdminAPI里面的,由MySQL Shell提供,如果大家看过我以前说过的InnoDB Cluster的发展路线图,会发现InnoDB Cluster的发展路线图里包括自动扩展数据读取,多个副本从集群中复制出来供应用程序使用,结合InnoDB Cluster的三个组件 MGR、MySQL Router和MySQL Shell来整体考虑,未来,复制集应该是自动读取扩展的一部分。从这一点来看,应该能够解释,为何要推出这样一款采用异步复制的HA较低的产品了。

如何使用呢?使用起来也非常简单,我按照手册上的例子执行了一遍,感兴趣的话,您也可以亲自试一试。

我的实验是在一台主机上做的,配置了两个实例,端口分别为3310和3320。另外需要安装最新的MySQL Shell 8.0.19

初始化两台实例之后,使用shell分别连接两台实例,进行简单的配置。

mysql-js> \connect root@192.168.56.10:3310

连接后执行dba.configureReplicaSetInstance() 对其进行配置,在这里需要设置一个用于全部节点的账户(账户必须在全部节点上一致)

之后,使用dba.createReplicaSet() 创建复制集:

创建好了以后,可以通过ReplicaSet.status()查看复制集的状态:

接下来,在第二个节点上同样执行配置操作,然后执行加入复制集操作。

执行加入复制集操作后,会提示使用哪种方式进行数据恢复(克隆或增量),由于我的两台节点数据不一致,我选用的克隆方式,此方式会将从节点上的数据完全删除。

克隆完毕,重启之后,再次查看复制集状态:

复制集已经搭建好了,接下来就可以按照平时的操作对MySQL进行操作了,数据会从主节点异步复制到从节点上。

关于复制集的介绍就到这里,更为详尽的内容请访问“https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-replicasets.html”

欢迎大家试用并提出反馈!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MySQL解决方案工程师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档