yokila
yokila
Published on 2024-03-13 / 7 Visits
0
0

阿里云 云数据库的使用

一、购买云数据库

趁着阿里云的数据库打折,想着原本的服务器同时放博客服务和数据库,内存实在是吃紧,于是还是买买买!

配置信息:

  • 地域:广州

  • 类型:MySQL 8.0

  • 实例规格:2核 2GB

  • 存储大小:50GB

  • 时长:1年

  • 价格:99RMB

  • 活动:3月份采购季

购买完,过一会儿,阿里云会发邮件告诉你推荐的操作步骤。本文其实差不多这个流程,只是说会把一个个操作的过程完整展示出来。

二、控制台管理

为了照顾多数情况,从首页点击控制台

点击数据库,进入数据库的控制台页面。

点击资源名称进入资源管理页面

如下图所示,这是数据库的各种基本信息。

三、设置白名单

可参考官方文档:《如何连接RDS数据库》

这里的白名单,有点特别,它是针对内网的,即你设置的IP是应该是放应用服务的ECS/DMS的内网IP(其实说白了就是阿里云里的ECS和DMS服务器)。

默认情况下,实例不对公网开放,即公网是访问不了的(比如你的家用电脑)。

另外,一般情况下,我们会只允许应用服务器(给后端服务用)和运维的IP(运维管理)进行访问。不建议随便开什么允许所有IP访问之类的操作,那太危险了!

这里我们先暂时不管什么公网访问的问题,先着手让内网访问连通。

点击左侧的白名单与安全组,即可开始准备设置白名单。

看说明可见,默认情况下是禁止所有IP访问,即谁都不能访问这个数据库。

接下来,为了我们能访问这个数据库,就得设置一下白名单。

点击添加白名单分组

先看弹出窗口的下方提示信息

阿里云提供了快捷方式来获取ECS内网IP,即可以直接点击加载ECS内网IP

按照下图所示,先输入分组名,然后勾选ECS实例,再点击图标移动到右侧,再点击确定。就添加完毕了。

添加好以后,页面会自动刷新,即可看到刚刚新增的白名单分组。

四、创建数据库账号

点击账号管理

然后点击创建账号

在输入框中照常输入数据库账号信息,再点击确定,即可创建一个数据库账号。

注:因为暂时还没有创建数据库,所以这里可以不用管数据库的授权。

我这里是创建了一个普通账号,专门给我的应用服务使用。

如果你还需要有root账号等高权限账号,则可以继续创建其他账号。

五、创建数据库

先前我们只是创建了账号,并未创建数据库,也就是说,这个普通账号其实如果登录上去后,并没有任何一个数据库的访问权限(包括创建数据库的权限)。

注:如果你创建的是高权限账号,则可以在这里创建数据库,而是远程连接后去用SQL创建数据库

所以,我们在这里可以试着去创建一个数据库。

点击数据库管理,进入数据库管理页面。

image-tuzg.png

点击创建数据库

image-pont.png

在弹出的侧边栏里,如图所示输入数据库的信息,然后点击创建,即可创建新的数据库。

注:我还绑定了刚刚新建的账号。这样的话,刚刚的这个普通账号,就有这个数据库的读写权限。

六、登录数据库(在ECS服务器上)

(方式一)

既然我们已经在前文里配置了ECS服务器的内网IP到白名单上,也创建了数据库和账号。此时,我们理论上已经可以在ECS服务器上登录到我们的数据库服务器。

那么,接下来,我将通过命令行的方式来试一试。

官网也有相关的说明文档:《通过命令行、客户端连接RDS MySQL实例》

首先,随便你用哪个SSH连接工具连接到ECS服务器上。因为接下来的操作,都是在ECS服务器上。

然后,参考我的另一篇文章,安装MySQL:《Linux MySQL安装》

注意:不需要启动MySQL,我们这里只是需要用到MySQL的命令罢了。

因为等下访问需要用到云数据库的地址,所以记得先在管理页面的数据库连接这个页面,复制内网地址

执行命令:mysql -h 内网地址 -P 3306 -u 用户名 -p

其中,内网地址为云数据库的内网地址,用户名为刚刚创建的要用于登录到云数据库的用户名。

执行命令后,会要求输入密码,输入密码正确后,即可登录上数据库。

整体执行如下图所示。

试着执行了一下SQL语句,时间是正常的。

再看一下时区信息:

执行命令:show variables like '%time_zone%';

默认就是常用的东八区时间,完美!

至此,说明ECS服务器已经可以正常访问云数据库。

(当然,你也可以在这里进行数据库的管理。只是需要注意登录的账号的权限范围限制)

此时,只要你在应用服务上配置云数据库的地址和账号密码,即可连接到云数据库上。

七、登录数据库(公网直连云数据库)

(方式二)

当然,我还没忘记前文提及暂放一边的事情:即如何让非阿里云ECS服务,用公网IP访问数据库。(比如你的应用服务器是其他云服务厂商的,或者想用自己的本地电脑访问)

注:如果没有这个公网直连访问的需求,就不必配置,不开放公网直连访问是比较安全的策略。

如果真的有需要,那就开始搞吧!

先进入到数据库连接页面,然后点击开通外网地址

按照提示,如果你是要调试,可以先开启允许全部IP访问等下记得关闭即可。(我这里是不准备开启)

点击确定后,页面会刷新,阿里云会给你弄一个外网连接的地址(可能需要等一会儿)。

(页面一直处在正在开通外网地址的状态的话,那就刷新一下浏览器页面)

好了以后,你就会看到外网地址已经生成。

此时,点击设置白名单

接下来,按照之前同样的方式,配置IP白名单。

即点击添加白名单分组

选择加载本机公网IP

(理论上这是个快捷操作,但是因为我写这份文档时用不了,问售后也没得到答案,所以就只在这里放一个功能截图,如果你可以的话,就用这个方式快速把你的IP添加到白名单里)

上面的快捷方式不能用,就只能手动添加白名单IP了。

不过在此之前,你需要先获取的公网IP。

通常可以直接在搜索引擎里输入公网IP,搜索引擎就会显示你的IP地址。(或者可以借助一些在线工具等途径)总之,你总能获取到你的公网IP地址,所以这里不再说明。

当你拿到你的公网IP,直接在这里输入信息,然后点击确定,就可以了。

添加好以后,就如图所示。

本地PC机打开MySQL Workbench(当然,你可以选择其他的数据库UI管理工具),点击图标新建数据库连接

输入连接信息,注意Hostname 要用前文生成的RDS的外网地址

如果没有建立数据库的话,就不设置 Default Schema

注意先点击 Test Connection ,确认连接成功后,再点击 OK,正式进行连接。

成功以后,你就可以看到这边出现了一个新的连接

点击即可进入对应的数据库操作页面

剩下的就是数据库管理工具的操作了,此处不再介绍。

八、登录数据库(SSH隧道)

(方式三)

注:此方式也同样实现了公网访问数据库,但是相对于直连数据库,更为安全妥当。因为相当于先连接到ECS服务器,然后借助ECS服务器作为跳板来连接数据库。一般正常情况下,都是这么连接数据库的。

注:对于云数据库,似乎只能借助同一个内网中的ECS服务器做SSH隧道。

注:此时需要提前配置并完成 六、登录数据库(在ECS服务器上) 的步骤

注:此时需要保证 本机能通过公网连接到ECS服务器。

然后,开始操作:

本地PC机打开MySQL Workbench(当然,你可以选择其他的数据库UI管理工具),点击图标新建数据库连接

输入连接信息,注意Hostname 要用前 ECS服务器的外网地址

部分数据的获取在配置 六、登录数据库(在ECS服务器上) 的步骤已有提及,这里不再重复。

如果没有建立数据库的话,就不设置 Default Schema

注意先点击 Test Connection ,确认连接成功后,再点击 OK,正式进行连接。

20240906223630.png

提示成功,你就可以看到出现了一个新的连接。

双击进入即可。


Comment