一、购买云数据库
趁着阿里云的数据库打折,想着原本的服务器同时放博客服务和数据库,内存实在是吃紧,于是还是买买买!
配置信息:
地域:广州
类型: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创建数据库
所以,我们在这里可以试着去创建一个数据库。
点击数据库管理,进入数据库管理页面。
点击创建数据库
在弹出的侧边栏里,如图所示输入数据库的信息,然后点击创建,即可创建新的数据库。
注:我还绑定了刚刚新建的账号。这样的话,刚刚的这个普通账号,就有这个数据库的读写权限。
六、登录数据库(在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,正式进行连接。
提示成功,你就可以看到出现了一个新的连接。
双击进入即可。