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://github.com/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://developer.aliyun.com/adc/scenario/da31dd4a02224093ba2c61a9e61a0a01

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
81 15
|
6天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
12天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
13天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
17天前
|
SQL 关系型数据库 MySQL
MySQL导入.sql文件后数据库乱码问题
本文分析了导入.sql文件后数据库备注出现乱码的原因,包括字符集不匹配、备注内容编码问题及MySQL版本或配置问题,并提供了详细的解决步骤,如检查和统一字符集设置、修改客户端连接方式、检查MySQL配置等,确保导入过程顺利。
|
25天前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
1月前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
39 1
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
52 4
|
1月前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
174 0
|
1月前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
247 1
下一篇
DataWorks