打算把本地SQL Server内的数据都上传到云数据库中。本来是想申请一个RDS SQL Server,结果网上报价普遍比RDS MySQL贵,没办法选择了后者,虽然我没有使用过MySQL,当然前者也不是很熟。在阿里云和腾讯云之间选择了前者,原因是阿里云可以免费使用30天,后者只有7天,我只是想学习一下云数据库的配置,一个月的时间足以。

RDS管理控制台

阿里云账号需要重新注册一遍,开通RDS MySQL后,发现RDS管理控制台和之前使用的物联网云平台很像:

mysql rds的区别 rds与mysql区别_数据库


整个界面分为4个区,最上方的菜单栏、左侧的浏览窗口、正中心的数据窗口和右侧的杂项。关闭页面后,可以通过阿里云官网右上角的【控制台】选项再次找到入口。

mysql rds的区别 rds与mysql区别_云服务_02

使用新事物之前不要忘了阅读帮助文档:云数据库 RDS

在正式开始使用RDS MySQL前需要做以下几件事:

mysql rds的区别 rds与mysql区别_RDS_03


快速入门

创建实例

实例和数据库含义不同,就我个人认为,实例属于硬件层面,数据库属于软件层面。实例是指虚拟计算环境,其中包括CPU、内存、硬盘、系统、网络等最基础的计算机组件。实例是需要购买的,当开通一个RDS MySQL时,实际上已经创建了一个实例并完成了基本配置(换句话说,我们购买的就是RDS实例):

mysql rds的区别 rds与mysql区别_云服务_04


因此可以跳过“创建实例”这一步。

设置白名单

实例创建成功后会收到一条“首次连接访问RDS需要配置IP白名单”的短信,通过设置白名单,可以允许外部设备访问该RDS实例。

RDS的白名单包括两种类型,IP白名单和安全组,前者又包含两种类型:通用白名单模式和高安全白名单模式:

mysql rds的区别 rds与mysql区别_RDS_05

  1. 通用白名单模式
    通用白名单模式中的IP地址不区分经典网络和专有网络。
    经典网络和专有网络的区别见:网络类型
  2. 高安全白名单模式
    高安全白名单模式中区分经典网络和专有网络,创建IP白名单分组时需要指定网络类型。
  3. 安全组
    安全组是一种虚拟防火墙,用于控制安全组中的ECS(Elastic Compute Service,云服务器)实例的出入流量。在RDS白名单中添加安全组后,该安全组中的ECS实例就可以访问RDS实例。

白名单一般默认为通用白名单模式,只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例:

mysql rds的区别 rds与mysql区别_数据库_06


注意切换为高安全白名单模式的操作为不可逆的。

因为我申请这个数据库并非出于商业目的,没有什么数据机密,所以仍然采用通用白名单模式,并将 默认IP地址修改为0.0.0.0/0,表示允许任何设备访问RDS实例。这实际上是一个有风险的行为,之所以这样设置,是因为使用校园网时IP地址是不固定的。

修改白名单设置需要进行手机验证。

申请或释放外网地址

RDS支持内网地址外网地址两种地址类型,默认提供内网地址。
这里的内网和外网并非指国内网和国外网,而是单纯的计算机网络上的概念。
通过内网访问RDS实例时,安全性高,而且可以实现RDS的最佳性能,所以应当谨慎使用外网。一般来说只有以下两种情况:

  1. ECS实例访问RDS实例,且ECS实例与RDS实例位于不同地域,或者网络类型不同;
  2. 阿里云以外的设备访问RDS实例;

这里我就先放一放了。

创建数据库和账号

RDS MySQL实例支持两种数据库账号:高权限账号普通账号,两者最大的区别在于前者拥有全部权限且可以断开任意账号的连接,而后者的权限需要被分配。

创建的实例默认是没有账号的:

mysql rds的区别 rds与mysql区别_云服务_07


这里创建一个高权限账号。

创建完成后需要过几分钟账号才会处于激活状态:

mysql rds的区别 rds与mysql区别_mysql rds的区别_08


——————————

同样的数据库也是需要手动创建的。

在创建数据库选项框中并未看到之前创建的账号:

mysql rds的区别 rds与mysql区别_数据库_09


这是因为此处只会显示普通账号,高权限账号拥有所有数据库的所有权限,不需要授权。

连接MySQL实例

完成创建实例、设置白名单、创建账号等操作后,可以使用数据管理服务DMS(Data Management Service)或通用数据库客户端连接到MySQL实例,也可以在应用程序中配置地址、端口、账号信息等进行连接。

这里就用阿里云提供的DMS来登录数据库。DMS是一个免安装、免运维、即开即用、多环境来源、多种数据库类型统一的数据库管理web终端。从使用体验来看,似乎RDS管理控制台属于宏观方面,数据管理DMS属于微观方面。

点击右上角的蓝色按钮【登录数据库】:

mysql rds的区别 rds与mysql区别_RDS_10


进入数据管理DMS后需要进行RAM角色授权:

mysql rds的区别 rds与mysql区别_mysql rds的区别_11


数据管理DMS又与之前的RDS管理控制台风格截然不同:

mysql rds的区别 rds与mysql区别_mysql rds的区别_12


同样的,这是数据管理DMS的帮助文档:数据管理DMS

在DMS中有4类角色:管理员、DBA(Database Administrator,数据库管理员)、普通用户、安全管理员。开通DMS服务时,主账号初始化为管理员角色。此外还有数据owner,暂不清楚和以上四类的关系。
管理员可执行的操作如下:我是管理员

DMS的六大功能:

  1. 实例管理:DMS支持的实例类型以及如何在DMS中录入实例(云数据库、ECS自建库、IDC自建库、录入第三方数据库)。
  2. 用户管理:包含添加或删除用户、管控用户权限等,仅限DMS中的管理员角色可操作。注意DMS的账号和RDS管理控制台账号并非同一类型。
  3. 权限管理:共有三种权限:查询、变更和导出。用户可以申请某个数据库、表或列的具体操作权限(查询、变更或导出),数据Owner审核通过后即可执行相应的操作。
  4. 数据导出:可导出CSV、EXCEL、SQL脚本或导出文件。
  5. 数据导入:支持TXT格式、SQL脚本和CSV格式的数据导入。
  6. 跨库查询

兜了一圈发现实例还是没连接:

mysql rds的区别 rds与mysql区别_云服务_13


右击“未设置实例名称”,选择登录实例:

mysql rds的区别 rds与mysql区别_阿里云_14


然后输入在RDS管理控制台中创建的账户,然后登录成功,出现SQL控制台:

mysql rds的区别 rds与mysql区别_数据库_15


通过下列操作设置已登录的实例的owner(所以为什么要用英文)。

mysql rds的区别 rds与mysql区别_阿里云_16


返回DMS的工作台,可看到在“owner 的库表”中,实例数和逻辑库/物理库数都发生了变动:

mysql rds的区别 rds与mysql区别_云服务_17


也可以返回RDS管理控制台并再次点击【登录数据库】,此时会出现和上一次截然不同的登录界面:

mysql rds的区别 rds与mysql区别_云服务_18


输入了之前创建的高权限账号后又进入了一个不一样的DMS页面:

mysql rds的区别 rds与mysql区别_mysql rds的区别_19


此处为旧版DMS。貌似在RDS管理控制台中只有旧版DMS的入口。新版DMS入口

————————————————————————
差不多算是把阿里云的云数据库的新手教程通关了,接下来就是要学习如何应用了,等对云数据库的认识再深刻些,再对这篇文章做些补充。