限时免费!手把手教你免费领用阿里云PolarDB MySQL版Serverless集群,体验业界一流数据库的顺滑感受!

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 具备多主多写、多活容灾、HTAP特性的一流数据库PolarDB,今日免费体验!

教程简介

通过本教程,您将学习通过热备切换实现阿里云PolarDB MySQL版Serverless集群的高可用。 集群中的只读节点开启热备功能后,主备切换可实现快速切换和事务保持。本教程采用测试工具SysBench持续对PolarDB MySQL版的Serverless集群注入流量,并在流量注入过程中手动触发数据库crash来观察数据库的切换速度和事务保持能力。

我能学到什么

  • 熟悉通过装有mysql client的ECS实例创建PolarDB MySQL版的Serverless集群的数据库命令。
  • 了解利用SysBench测试PolarDB MySQL版的Serverless集群的方法。
  • 体验PolarDB MySQL版Serverless集群的故障容灾能力。image.png

环节一:准备环境和资源

本环节耗时:18分钟

开始教程前,请按以下步骤准备环境和资源:

1. 准备云服务器ECS实例。

由于要进行SysBench性能测试,ECS实例的操作系统需要选择为CentOS 7.7 64位。ECS实例安全组的出方向要放行MySQL默认使用的3306端口,具体操作请参见添加安全组规则
您可以前往阿里云免费试用查看您的阿里云账号是否具有云服务器ECS试用资格。如有试用资格,可通过试用ECS来完成教程。如无试用资格,则需使用自有ECS资源才能完成教程。不建议使用生产环境中的自有ECS资源,也不要将教程中的测试数据和自有ECS资源的数据混用。测试完成后及时清理测试数据,避免影响自有资源正常运行。


2.访问阿里云免费试用

单击页面右上方的登录/注册按钮,并根据页面提示完成账号登录(已有阿里云账号)、账号注册(尚无阿里云账号)或实名认证(根据试用产品要求完成个人实名认证或企业实名认证)。


3.成功登录后,在产品类别下选择数据库 > 关系型数据库,在PolarDB for MySQL Serverless卡片上单击立即试用


4.在配置PolarDB for MySQL Serverless集群信息面板,完成参数配置。完成本教程需要的配置信息如下(实际操作请根据业务需求按需配置):

  • 地域和可用区:如需使用私网IP访问PolarDB MySQL版集群,此处选择的地域必须与ECS实例相同,可用区可以不同。
  • VPC网络和交换机
  • 如果您已创建符合您网络规划的VPC和交换机,直接选择该VPC和交换机。
  • 如果您未创建符合您网络规划的VPC和交换机,可以使用默认的VPC和交换机。
  • 如果以上已创建的和默认的VPC和交换机无法满足您的要求,可以自行创建VPC和交换机,详情请参见创建和管理专有网络
  • 如需使用私网IP访问PolarDB MySQL版集群,此处选择的VPC网络必须与ECS实例相同,否则ECS实例和PolarDB MySQL版集群无法通过VPC网络互通。
  • 其他参数:保持默认值或按需修改。


5.同意协议后,单击免费试用,并根据页面提示完成试用申请。开通成功后,需要10~15分钟创建集群,之后您就可以在集群列表中看到新创建的集群。


环节二:创建数据库账号

本环节耗时:5分钟

1.登录PolarDB控制台,单击左侧集群列表,然后选择云产品资源提供的地域。例如:华东1(杭州)。


2.创建数据库账号。

  1. 集群列表页面,单击集群ID,进入基本信息页面。
  2. 单击左侧导航栏配置与管理>账号管理
  3. 单击左上方创建账号
  4. 参考说明配置账号信息,然后单击确定。请记录此处创建的数据库账号及密码,后续步骤中会反复使用。
  • 数据库账号:输入数据库账号名称,例如:temp。
  • 账号类型:选择高权限账号。
  • 密码:设置账号密码。
  • 确认密码:再次输入密码。

3.设置数据库白名单。连接数据库需要设置数据库白名单,单击左侧导航栏配置与管理>集群白名单。在配置白名单界面将默认的白名单地址127.0.0.1更改为ECS实例的公网IP或者私网IP,然后点击确定使白名单地址生效。查看ECS实例IP地址的方法请参见查看IP地址


环节三:开启只读节点的热备功能

耗时:10分钟

1.在PolarDB控制台单击左侧集群列表,然后选择集群所在地域。例如:华东1(杭州)。


2.为只读节点开启热备。

  • 集群列表页面,单击集群ID,进入基本信息页面。
  • 基本信息页面的数据库节点区域,单击右上角的切换图标切换视图。

  • 数据库节点区域,找到需要设置热备功能的只读节点,单击操作列下的开启热备。开启热备功能会进行节点角色切换,大约需要6分钟,请您耐心等待。只读节点的状态变为运行中,表示热备开启完成。


3.单击左侧导航栏的参数配置,在参数配置页面将集群的loose_innodb_trx_resume参数值设置为ON。参数打开表示事务续传功能开启。具体操作请参见设置集群参数和节点参数。该参数修改生效大概需要两分钟时间,请您耐心等待。当loose_innodb_trx_resume参数的值为ON时,表示参数修改完成。


环节四:安装mysql-client和SysBench

耗时:5分钟

1.登录ECS实例。


2.在ECS中依次执行命令安装mysql-client。通过mysql --version命令如果能看到mysql的版本号,说明mysql安装成功。

mkdir package 
cd package
# 下载mysql对应的安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 
# 安装mysql
yum -y install mysql57-community-release-el7-10.noarch.rpm 
yum -y install * --nogpgcheck mysql-community-server


3.在ECS中依次执行命令安装SysBench。通过sysbench --version命令如果能看到SysBench的版本号,说明SysBench安装成功。

yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql unzip
##如果出现GPG keys的校验报错,请在该命令后面加上--nogpgcheck
wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/Universities/sysbench.zip
##下载sysbench
unzip sysbench.zip
##解压缩
cd sysbench
##打开sysbench目录
git checkout 1.0.18
##切换到sysbench 1.0.18版本
./autogen.sh
##运行autogen.sh
./configure --prefix=/usr --mandir=/usr/share/man
make
##编译
make install



4.执行命令配置SysBench client,使内核可以利用所有的CPU核数处理数据包,同时减少CPU核数之间的上下文切换。如果您购买的ECS实例的CPU核数低于4核,无需执行该命令。本文档中的f表示使用4个核,请根据您实际购买的ECS实例CPU核数进行配置。如果您购买的是8核的ECS实例,就用ff表示。

sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo f>$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"



环节五:模拟故障容灾

耗时:150分钟

1.在ECS上执行命令(会提示输入密码,密码为创建数据库账号时为示例账号temp设置的密码),在PolarDB MySQL版Serverless集群中创建数据库testdb,用于后续的SysBench流量注入。

  • 如果使用ECS实例的公网IP地址访问PolarDB MySQL版Serverless集群,此处的集群地址请使用PolarDB MySQL版集群的公网地址;如果使用ECS实例的私网IP地址访问PolarDB MySQL版Serverless集群,此处的集群地址请使用PolarDB MySQL版集群的私网地址。
  • PolarDB的连接地址包括主地址和集群地址,本教程中请使用集群地址。关于如何查看集群的连接地址,请参见查看连接地址和端口
  • 端口号默认3306。
  • 用户名是之前步骤中创建的PolarDB数据库账号的用户名(temp)。

命令执行成功后,登录PolarDB控制台,在集群详情页面中单击登录数据库,使用已创建的账号temp和密码登录到DMS中,如果发现DMS中目标实例下存在数据库testdb,说明数据库创建成功。

mysql -h 集群地址 -P 端口号 -u 用户名 -p -e 'create database testdb'


2.使用SysBench模拟对数据库进行持续的流量注入。整个压测流量注入的时间较长,如果使用ECS实例的公网IP地址访问PolarDB MySQL版Serverless集群,大约需要1~2个小时;如果使用ECS实例的私网IP地址访问PolarDB MySQL版Serverless集群,大约需要10分钟。具体时间取决您的网络情况,请您耐心等待。

sysbench --db-driver=mysql --mysql-host=<集群地址> --mysql-port=<端口号> --mysql-user=<用户名> --mysql-password=<密码> --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600  oltp_write_only prepare


3.运行workload。为了您能及时观测到SysBench的TPS跌零现象,请提前登录PolarDB控制台并在运行workload的过程中直接执行第4 - 5步模拟故障容灾。

sysbench --db-driver=mysql --mysql-host=<集群地址> --mysql-port=< 端口号> --mysql-user=<用户名> --mysql-password=<密码> --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600 --threads=8 --percentile=95 --report-interval=1 oltp_write_only run



4.登录PolarDB控制台,在集群详情页面中单击登录数据库,使用已创建的账号temp和密码登录。


5.在PolarDB MySQL版Serverless集群的DMS中执行命令,该命令可激活Serverless集群中的模拟故障容灾功能。

call dbms_fault.crash();



环节六:完成

耗时:3分钟

观察数据库的容灾恢复情况:在ECS终端中,观察压测的执行情况。压测的执行情况可以反应业务的连接情况。 如下图您可以看到,在触发故障容灾后,SysBench的TPS出现了跌零,持续10秒左右后立即恢复,并恢复正常的压测。在触发故障容灾后到恢复正常的压测期间,并没有出现报错,数据库连接也未发生中断。



环节七:清理及后续

耗时:5分钟

清理

完成教程后,请及时清理测试数据和试用资源。


  • SysBench模拟流量数据清理
sysbench --db-driver=mysql --mysql-host=集群地址 --mysql-port=端口号 --mysql-user=用户名 --mysql-password=密码 --mysql-db=testdb --table_size=25000 --tables=250 --events=0 --time=600 --threads=8 --percentile=95  oltp_write_only cleanup
  • PolarDB MySQL版Serverless集群的试用时长为3个月,到期未释放可能产生欠费。如不再使用Serverless集群,请登录PolarDB控制台,找到目标集群,在操作列单击更多>释放,按照界面提升手动释放集群。
  • ECS提供的试用实例有按量付费实例和包年包月实例。如果您试用的ECS实例为试用实例,请在试用中心确认您试用的实例类型,并参考以下规则清理:

  • 按量付费实例
  • 如果无需继续使用实例,可以登录ECS控制台,找到目标实例,在操作列单击,搜索并单击释放设置,根据界面提示释放实例。
  • 如果需要继续使用实例,请至少在试用到期1小时前为阿里云账号充值,确保账户金额不小于100.00元人民币。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。
  • 包年包月实例
  • 包年包月实例到期会自动释放,释放实例的同时释放数据。
  • 如果需要继续使用实例,请在试用到期前及时续费。到期未续费的实例会因欠费而被自动停机,停机15天内实例将保留,15天后实例和数据都将被自动释放。

后续

在试用有效期期间,您还可根据希望测试的其它业务场景继续使用PolarDB MySQL版Serverless集群。


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1
|
17天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
30 4
|
23天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
119 1
|
25天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
77 2
|
28天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
104 4
|
11天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
107 0
|
24天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
53 0
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
132 6
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
64 3
Mysql(4)—数据库索引
|
1月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
71 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用

热门文章

最新文章

相关产品

  • 函数计算
  • 推荐镜像

    更多
    下一篇
    无影云桌面