打算把本地SQL Server内的数据都上传到云数据库中。本来是想申请一个RDS SQL Server,结果网上报价普遍比RDS MySQL贵,没办法选择了后者,虽然我没有使用过MySQL,当然前者也不是很熟。在阿里云和腾讯云之间选择了前者,原因是阿里云可以免费使用30天,后者只有7天,我只是想学习一下云数据库的配置,一个月的时间足以。
RDS管理控制台
阿里云账号需要重新注册一遍,开通RDS MySQL后,发现RDS管理控制台和之前使用的物联网云平台很像:
整个界面分为4个区,最上方的菜单栏、左侧的浏览窗口、正中心的数据窗口和右侧的杂项。
关闭页面后,可以通过阿里云官网右上角的【控制台】选项再次找到入口。
使用新事物之前不要忘了阅读帮助文档:
云数据库 RDS
在正式开始使用RDS MySQL前需要做以下几件事:
快速入门
创建实例
实例和数据库含义不同,就我个人认为,实例属于硬件层面,数据库属于软件层面。
实例
是指虚拟计算环境,其中包括CPU、内存、硬盘、系统、网络等最基础的计算机组件。实例是需要购买的,当开通一个RDS MySQL时,实际上已经创建了一个实例并完成了基本配置(换句话说,我们购买的就是RDS实例):
因此可以跳过“创建实例”这一步。
设置白名单
实例创建成功后会收到一条“首次连接访问RDS需要配置IP白名单”的短信,通过设置白名单,可以允许外部设备访问该RDS实例。
RDS的白名单包括两种类型,IP白名单和安全组,前者又包含两种类型:通用白名单模式和高安全白名单模式:
-
通用白名单模式
通用白名单模式中的IP地址不区分经典网络和专有网络。
经典网络和专有网络的区别见:
网络类型
-
高安全白名单模式
高安全白名单模式中区分经典网络和专有网络,创建IP白名单分组时需要指定网络类型。 -
安全组
安全组是一种虚拟防火墙,用于控制安全组中的ECS(Elastic Compute Service,云服务器)实例的出入流量。在RDS白名单中添加安全组后,该安全组中的ECS实例就可以访问RDS实例。
白名单一般默认为通用白名单模式,只包含默认IP地址127.0.0.1,表示任何设备均无法访问该RDS实例:
注意切换为高安全白名单模式的操作为
不可逆
的。
因为我申请这个数据库并非出于商业目的,没有什么数据机密,所以仍然采用通用白名单模式,并将 默认IP地址修改为
0.0.0.0/0
,表示允许任何设备访问RDS实例。这实际上是一个有风险的行为,之所以这样设置,是因为使用校园网时IP地址是不固定的。
修改白名单设置需要进行手机验证。
申请或释放外网地址
RDS支持
内网地址
和
外网地址
两种地址类型,默认提供内网地址。
这里的内网和外网并非指国内网和国外网,而是单纯的计算机网络上的概念。
通过内网访问RDS实例时,安全性高,而且可以实现RDS的最佳性能,所以应当谨慎使用外网。一般来说只有以下两种情况:
- ECS实例访问RDS实例,且ECS实例与RDS实例位于不同地域,或者网络类型不同;
- 阿里云以外的设备访问RDS实例;
这里我就先放一放了。
创建数据库和账号
RDS MySQL实例支持两种数据库账号:
高权限账号
和
普通账号
,两者最大的区别在于前者拥有全部权限且可以断开任意账号的连接,而后者的权限需要被分配。
创建的实例默认是没有账号的:
这里创建一个高权限账号。
创建完成后需要过几分钟账号才会处于激活状态:
——————————
同样的数据库也是需要手动创建的。
在创建数据库选项框中并未看到之前创建的账号:
这是因为此处只会显示普通账号,高权限账号拥有所有数据库的所有权限,不需要授权。
连接MySQL实例
完成创建实例、设置白名单、创建账号等操作后,可以使用数据管理服务DMS(Data Management Service)或通用数据库客户端连接到MySQL实例,也可以在应用程序中配置地址、端口、账号信息等进行连接。
这里就用阿里云提供的DMS来登录数据库。DMS是一个免安装、免运维、即开即用、多环境来源、多种数据库类型统一的数据库管理web终端。从使用体验来看,似乎RDS管理控制台属于宏观方面,数据管理DMS属于微观方面。
点击右上角的蓝色按钮【登录数据库】:
进入数据管理DMS后需要进行RAM角色授权:
数据管理DMS又与之前的RDS管理控制台风格截然不同:
同样的,这是数据管理DMS的帮助文档:
数据管理DMS
在DMS中有4类角色:管理员、DBA(Database Administrator,数据库管理员)、普通用户、安全管理员。开通DMS服务时,主账号初始化为管理员角色。此外还有数据owner,暂不清楚和以上四类的关系。
管理员可执行的操作如下:
我是管理员
DMS的六大功能:
-
实例管理
:DMS支持的实例类型以及如何在DMS中录入实例(云数据库、ECS自建库、IDC自建库、录入第三方数据库)。 -
用户管理
:包含添加或删除用户、管控用户权限等,仅限DMS中的管理员角色可操作。注意DMS的账号和RDS管理控制台账号并非同一类型。 -
权限管理
:共有三种权限:查询、变更和导出。用户可以申请某个数据库、表或列的具体操作权限(查询、变更或导出),数据Owner审核通过后即可执行相应的操作。 -
数据导出
:可导出CSV、EXCEL、SQL脚本或导出文件。 -
数据导入
:支持TXT格式、SQL脚本和CSV格式的数据导入。 -
跨库查询
兜了一圈发现实例还是没连接:
右击“未设置实例名称”,选择登录实例:
然后输入在RDS管理控制台中创建的账户,然后登录成功,出现SQL控制台:
通过下列操作设置已登录的实例的owner(所以为什么要用英文)。
返回DMS的工作台,可看到在“owner 的库表”中,实例数和逻辑库/物理库数都发生了变动:
也可以返回RDS管理控制台并再次点击【登录数据库】,此时会出现和上一次截然不同的登录界面:
输入了之前创建的高权限账号后又进入了一个不一样的DMS页面:
此处为旧版DMS。貌似在RDS管理控制台中只有旧版DMS的入口。
新版DMS入口
————————————————————————
差不多算是把阿里云的云数据库的新手教程通关了,接下来就是要学习如何应用了,等对云数据库的认识再深刻些,再对这篇文章做些补充。