资讯专栏INFORMATION COLUMN

MySQL 5.7: 把现有的复制组迁移到InnoDB Cluster

newtrek / 2513人阅读

摘要:使用组复制使用实现应用程序的高可用把现有的复制组迁移到使用监视和管理数据库集群是一堆集合到一起工作的产品用于提供一个完整的高可用方案复制组不是一个完整的高可用方案它只是实现了数据库端的故障转移但是并没有为应用程序提供一个单一的入口本文可结合

MySQL 5.7: 使用组复制(MySQL Group Replication)
MySQL 5.7: 使用MySQL Router实现应用程序的高可用
MySQL 5.7: 把现有的复制组迁移到InnoDB Cluster
MySQL 5.7: 使用PMM监视和管理数据库

MySQL InnoDB 集群是一堆集合到一起工作的产品, 用于提供一个完整的高可用方案.

复制组不是一个完整的高可用方案, 它只是实现了数据库端的故障转移, 但是并没有为应用程序提供一个单一的入口, 本文可结合MySQL 5.7: 使用MySQL Router实现应用程序的高可用 创建一个InnoDB集群创建一个完整的HA方案.

可以使用MySQL Shell来配置MySQL服务器组以创建一个MySQL InnoDB数据库集群.

默认为单主模式, 集群中的服务器只有一个能写.

余下的服务器作为主服务器的备用.

创建集群至少需要三台机器.

客户端应用程序通过MySQL Router连接到主服务器.

如果主服务器失败, 集群自动选主, MySQL Router自动把连接路由到新主

高级用于可以配置集群有多主

由于前面我们已经创建了一个复制组.

mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+----------------+-------------+--------------+
| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST    | MEMBER_PORT | MEMBER_STATE |
+---------------------------+--------------------------------------+----------------+-------------+--------------+
| group_replication_applier | 255a577c-c68f-11e7-a0a7-00163e0c0288 | 172.18.149.215 |        3306 | ONLINE       |
| group_replication_applier | 77befd8c-c68e-11e7-9623-00163e0af475 | 172.18.149.213 |        3306 | ONLINE       |
| group_replication_applier | a44c7ec7-c68e-11e7-9cf8-00163e0afda9 | 172.18.149.214 |        3306 | ONLINE       |
+---------------------------+--------------------------------------+----------------+-------------+--------------+
3 rows in set (0.00 sec)

现在我们只需要安装MySQL Router和MySQL Shell

wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
dpkg -i mysql-apt-config_0.8.9-1_all.deb

查看版本信息

root:~# mysqlrouter --version
MySQL Router v2.1.4 on Linux (64-bit) (GPL community edition)
使用 MySQL Shell 配置集群

登录

root:~# mysqlsh --uri root@172.18.149.213:3306
Creating a Session to "root@172.18.149.213:3306"
Enter password:
Your MySQL connection id is 80
Server version: 5.7.20-log MySQL Community Server (GPL)
No default schema selected; type use  to set one.
MySQL Shell 1.0.10

Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type "help" or "?" for help; "quit" to exit.

Currently in JavaScript mode. Use sql to switch to SQL mode and execute queries.
mysql-js>

创建集群

mysql-js> var cluster = dba.createCluster("dc", {adoptFromGR: true});

执行成功后会自动创建一个新的数据库: mysql_innodb_cluster_metadata, 用于存放集群的元数据, 该元数据会被MySQL Router用到, 以实现高可用性.

参考资料

MySQL正式发布高可用架构——MySQL InnoDB Cluster

Ubuntu/Debian上的InnoDB集群

初探MySQL InnoDB集群

MySql InnoDB Cluster 生产环境部署

从已有的复制组创建InnoDB集群

Mysql 高可用 InnoDB Cluster 多节点搭建过程

Adopting a Group Replication Deployment

从已有的组复制搭建InnoDB Cluster环境

dba.createCluster("dc", {adoptFromGR: true}) 的BUG
root:~# mysqlsh --version
mysqlsh   Ver 1.0.10 for Linux on x86_64 - for MySQL 5.7.19 (MySQL Community Server (GPL))

从现有的复制组创建 InnoDB 集群的问题: https://bugs.mysql.com/bug.ph... MySQL Shell 的一个BUG, 降级到 1.0.9 正常.

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/47346.html

相关文章

  • MySQL 5.7: 使用复制(MySQL Group Replication)

    摘要:使用组复制使用实现应用程序的高可用把现有的复制组迁移到使用监视和管理数据库组复制的限制存储引擎必须为每个表必须提供主键只支持,网络需求较高一个组最多只能有台服务器不支持,不支持多主模式不支持事务隔离级别多主模式不能完全支持级联外键约束多主模 MySQL 5.7: 使用组复制(MySQL Group Replication)MySQL 5.7: 使用MySQL Router实现应用程序的...

    Jinkey 评论0 收藏0
  • MySQL 5.7: 使用MySQL Router实现应用程序的高可用

    摘要:使用组复制使用实现应用程序的高可用把现有的复制组迁移到使用监视和管理数据库前面一片文章说了如何配置的分组复制基于分组复制的机制当主节点崩溃离开集群剩余的其他节点会相互协商然后选举一个新的主节点这里有一个问题就是应用程序端如果连接到了主节点这 MySQL 5.7: 使用组复制(MySQL Group Replication)MySQL 5.7: 使用MySQL Router实现应用程序的...

    Pluser 评论0 收藏0
  • MySQL 5.7: 使用PMM监视和管理数据库

    摘要:使用组复制使用实现应用程序的高可用把现有的复制组迁移到使用监视和管理数据库数据库高可用之前说了现在我们来摆一下后面的事情那就是数据库的监视和管理目标是保持数据库良好稳定的运行为业务提供支撑一旦出现问题可以及时发现及时解决减少损失安装安装包括 MySQL 5.7: 使用组复制(MySQL Group Replication)MySQL 5.7: 使用MySQL Router实现应用程序...

    GitCafe 评论0 收藏0
  • 单表60亿记录等大数据场景的MySQL优化和运维之道 | 高可用架构

    摘要:此文是根据杨尚刚在高可用架构群中,针对在单表海量记录等场景下,业界广泛关注的问题的经验分享整理而成,转发请注明出处。杨尚刚,美图公司数据库高级,负责美图后端数据存储平台建设和架构设计。 此文是根据杨尚刚在【QCON高可用架构群】中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处。 杨尚刚,美图公司数据库高级DBA,负责美图后端数据...

    xcc3641 评论0 收藏0
  • 网易云 MySQL实例迁移的技术实现

    摘要:本文将介绍网易云基础服务蜂巢实例迁移功能的实现,并探讨如何高效完成实例迁移任务。网易云基础服务蜂巢提供了负载监控阈值选项,在业务负载超过该阈值时,会暂停迁移操作,直到负载重新低于阈值。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 我们把数据库里部分或全部 Schema和数据迁移到另一个实例的行为称为实例迁移,将导出数据的实例称为源实例,导入数据的实例称为目标实例。 根据迁移数...

    Olivia 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<