RDS:一致性处理事务的神器

Posted 华为云开发者联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RDS:一致性处理事务的神器相关的知识,希望对你有一定的参考价值。

摘要:RDS关系型数据库是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。

本文分享自华为云社区《一致性处理事务这下还是看RDS的吧【秋招特训】》,作者:样子的木偶。

什么是RDS?

RDS关系型数据库是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。用户通过从操作层面了解RDS mysql数据库配置购买、RDS MySQL管理等基本操作,以及实例连接方式体验,简单、易上手

RDS数据库有什么好处?

作为云上数据库

  1. RDS能够快速部署mysql等数据库:单节点双节点三节点等mysql数据库都能一键生成,无需进行复杂配置,简单易上手;
  2. 低投入成本:双节点最低费用每月仅需400多元,可按月续费弹性续费
  3. 弹性伸缩:随时能进行扩容,我想多有多大就有多大;
  4. 易用、易管理:提供备份、监控、账号管理等多种工具,不懂运维也可使用。
  5. 现在知道它都好处了吧

来一起看看怎么安装吧

那我如何安装RDS?

ecs都有吧

没有就快提前去配好,我们安装很快的奥

上来在左边的菜单栏中寻找数据库,没错RDS就在数据库下,数据库 > 云数据库 RDS,接下来开始购买数据库实例

我的实验配置全在这里了,对着一样一样找呗

① 计费模式:按需计费
② 区域:华北-北京四
③ 实例名称:rds-test
④ 数据库引擎:MySQL
⑤ 数据库版本:5.7
⑥ 实例类型:单机
⑦ 存储类型:SSD云盘
⑧ 可用区:任选
⑨ 时区:默认

这是实验的配置,实际的配置可以根据自己的需求进行更改

① 性能规格:通用型。(2核4G)
② 存储空间:40GB。
③ 硬盘加密:不加密。

① 虚拟私有云:已创建vpc-name(name为账号名)
② 安全组:sys-name(name为账号名)
③ 管理员帐户名:root
④ 数据库端口:默认3306
⑤ 管理员密码:自定义,如OYhBDa1RyzSVrvAH
⑥ 参数模板:默认
⑦ 购买数量:1
⑧ 只读实例:暂不购买

到这里点击立即购买,等待创建(这个时间会有一会不要着急大概5~9分钟)

期间可以尝试进行刷新状态栏

终于建造完成了

开始配置我的数据库

点击刚刚购买的数据库名称进入下一个页面

在左侧菜单中基本信息下点击备份于恢复

修改一下备份策略吧,点击修改备份策略弹出弹窗进行修改

这里实验中保留天数修改为一天

接着返回列表,我们开始登录测试了

输入用户名和密码,用户名为:root;密码为创建实例时设置的密码,单击“测试连接”连接成功,点击登录。

点击登录,来到新的页面

开始进行我们数据库的使用了

点击新建数据库,为数据库起一个名字吧

名字自定义,字符集根据需要选择,这里我选择utf-8

基本操作热热身

来吧,新建一张表试试看
点击数据库名称->点击新建一张表
根据需求填写基本信息、字段等信息,立即创建表。
① 表名:自定义
② 存储引擎:默认
③ 字符集:默认
④ 校验规则:默认
⑤ 备注:自定义
⑥ 高级选项:默认

点击“下一步”,添加表字段,点击“立即创建”、“执行脚本”。

① 列名:id
② 类型:int
③ 可空 :勾选
其他项默认即可

脚本执行完成,成功新建一张表

返回表视图发现出现名为q123的表

也可以通过SQL语句在数据库中创建表格,在数据管理首页的数据列表中,点击右侧【SQL查询】进入查询页面,使用sql语句创建表

CREATE TABLE person ( 
number INT(11), 
name VARCHAR(255), 
birthday DATE 
);

通过这段sql语句创建出一张名为person的表

我们发现这里已经建成一张表,同时在建表时我们还附加了姓名,序号,出生日期等信息

接下类我们同样试着用sql语句向表中插入信息,执行下面这段sql语句插入信息

INSERT INTO 
person(number,name,birthday) 
VALUES
(1,'张三','1993-08-04'),
(2,'李四', '2001-06-26'),
(3,'王五', '1996-05-12');

执行完成后点进表内

发现表中信息已经补充完整

以上为通过数据管理服务DAS连接MySQL实例的基本操作了

接下来我们试着通过ecs连接上我们的数据库

拿上内网接通我的Mysql

登录我们的ecs,在终端面板输入

ssh root@EIP

这里的EIP指的是自己的ecs的公网ip

这里输入yes,接受密钥输入

接下来在我们的客户端上安装mysql服务,输入以下命令进行安装

yum install mysql -y

安装成功返回以下信息

注意了注意了:ECS与RDS实例在相同安全组时,默认ECS与RDS实例互通,无需设置安全组规则,可以在ECS上ping RDS内网地址进行验证;ECS与RDS实例在不同安全组时,需要为RDS和ECS分别设置安全组规则。

输入以下命令,以连接目标主机MySQL。使用云数据库RDS的内网IP替换命令中的【RDS内网IP】;用RDS实例密码替换命令中的【RDS实例密码】;

RDS实例密码:自己在创建时的密码

在这里获取内网ip然后,使用以下命令连接数据库

mysql -h RDS内网IP -uroot -pRDS实例密码

拿上公网连通我的Mysql

使用公网来连接那我们就来一起购买、配置以下我们的公网ip吧

返回控制台,在服务列表中,选择“网络 > 弹性公网IP EIP”,进入网络控制台。点击购买弹性公网IP。

填选实例相关信息,操作如下:

① 计费模式:按需计费
② 区域:华北-北京四
③ 线路:全动态BGP
④ 公网带宽:按带宽计费
⑤ 带宽大小:1
⑥ 带宽名称:bandwidth-rds(自定义)
⑦ 购买量:1

点击立即购买

返回数据库实例详情页面,在左侧导航栏,单击“连接管理”->“公网地址”->单击“绑定”->“确定”

绑定完ip后我们还需要去开放我们的安全组

返回控制台,在服务列表中,选择“网络 -> 虚拟私有云 VPC ->访问控制 -> 安全组”,点击以用户名命名的安全组名称。
选择ecs绑定的安全组
进入安全组添加“入方向规则”->“添加规则”

① 优先级:1
② 策略:允许
③ 协议端口:3306(或选择一键放通,实际业务场景不推荐)。
④ IP地址设为0.0.0.0/0。

点击“确定”。
3306端口号加入

返回控制台,在服务列表中,选择“数据库 -> 云数据库RDS ->点击数据库实例名称-> 连接管理 -> 公网连接,获取RDS的弹性公网IP,测试是否通过RDS的弹性公网IP可以与mysql连通。

回到前面操作的Xfce终端中,运行下方命令。(用获取的RDS弹性公网IP替换命令中的【RDS弹性公网IP】)

ping RDS弹性公网IP

✨✨✨可以ping通✨✨✨

Ctrl+c停止,然后使用如下命令再次连接RDS实例:
用RDS的弹性公网IP替换命令中的【RDS-EIP】,在数据库实例详情页中确认数据库端口号替换命令中的【数据库端口号】,默认3306;用创建RDS实例设置的数据库密码替换命令中的【RDS实例密码】
RDS实例密码:(自己创建的实例密码)

mysql -h RDS-EIP -P 3306(数据库端口号) -uroot -pRDS实例密码

使用以上命令登录mysql

出现这个字样代表登入成功

总结

RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼,希望谨以此文可以带起大家对RDS的兴趣帮助大家更快入门。

点击关注,第一时间了解华为云新鲜技术~

以上是关于RDS:一致性处理事务的神器的主要内容,如果未能解决你的问题,请参考以下文章

分布式事务处理基本原理

MongoDB4.0版本事务上手测试

阿里云RDS深度定制-XA Crash Safe

事务基本信息

事务的四个基本特性

上手jupyter notebook神器