前言
前言
通过带 GUI 的第三方工具对数据库进行增删改查想必大家已经用的炉火纯青了,但是仍然有部分人(比如我)在创建完宝塔服务器后不知道如何通过第三方软件连接服务器的数据库。
今天这篇文章主要分享一下通过第三方数据库管理工具连接宝塔服务器的方法。
发出这篇文章的初衷也是因为看到网上的教程帖大部分内容都断断续续的,尤其是百度排名前几的搜索结果更是让人看的云里雾里的。


想着说还是自己发一篇写的详细一点的教程,这样以后自己回顾或分享给他人也更清晰易懂一些。(其实为了水一篇文章数量~~~)
正文
前置条件
首先我们要确保服务器以及宝塔的安全设置是允许数据库端口(默认3306)能够通过外网访问的。
开放宝塔端口
在宝塔后台控制面板左侧列表找到安全板块

可以看到我已经将phpMyAdmin以及MySQL数据库对应的端口打开了(默认的端口分别为888以及3306)。

如果此时你没有在防火墙设置中找到对应的端口,那么这里需要手动将端口放行,方法很简单。
在如图所示地方添加端口号以及对应的备注并点击执行即可添加对应端口的放行规则(phpMyAdmin是888,MySQL数据库默认是3306)

此时如果能像上面图片一样看到对应端口均为正常状态,则代表服务正常开启并已正确放行。
开放云服务器安全规则
宝塔控制面板的端口放行之后我们还需要在云服务器后台设置端口安全规则。
这里我用阿里云为例:
首先我们需要进入到阿里云 ECS 服务器的实例控制台找到网络与安全-安全组并点击正在使用的安全组。
这里我们按照截图方式手动添加入方向的访问规则即可(除非你设置了出方向规则,不然出方向是默认端口全开的)
添加的时候可以通过英文逗号隔开同时授权多个不同的端口,这里我就授权了888和3306
之后授权对象记得输入0.0.0.0/0(允许所有 IP 访问)。
同时建议填写描述方便后期查阅。

点击保存之后应该就会生成 888 以及 3306 的端口放行规则,至此与端口有关的设置已经全部处理完毕。
宝塔必备应用
phpMyAdmin
要想不通过命令行设置数据库用户权限,那么宝塔是必须要安装phpMyAdmin(一款非常好用的图形化 web 数据库管理工具)的。
我们打开宝塔的软件商店搜索phpMyAdmin,找到phpMyAdmin之后点击右侧的安装即可快速安装好phpMyAdmin。(我安装的是phpMyAdmin - 5.0,不同版本没有明显区别)

通过 phpMyAdmin 新建数据库外部访问账号
在完成以上准备步骤之后我们来到宝塔的数据库管理页面,此时能看到我们所有的数据库以及对应的账号。

登录 phpMyAdmin
我们点击root密码之后会出现一个弹窗,弹窗中会出现数据库root账号对应的密码,这个密码需要复制下来以便后续登录到phpMyAdmin。

复制之后我们点击phpMyAdmin


将刚才的 root 账号以及密码填写之后点击执行我们就能够登录到 phpMyAdmin 的后台了。

我们点击顶部的账户,可以在账户管理页面看到所有数据库中存在的账户。
宝塔默认的root用户应该只有主机名为localhost和127.0.0.1的账号。

这就是为什么我们无法直接通过Navicat访问宝塔服务器的数据库的原因。
因为数据库账号设置为localhost以及127.0.0.1意味着我们只能通过服务器本地访问(例如宝塔、例如 phpMyAdmin 应用),而我们需要做的就是将远程IP访问的权限打开即可!
为了确保用户可以从外网访问数据库,我们需要授权root用户一个%的主机名(允许用户从所有IP访问)。
这里我们点击下面图中的新增用户账户。

之后我们按照图中设置。

这时我们点击右下角执行即可生成账户。

账户生成成功。

我这样的设置意思是我创建了一名叫test的用户
test用户可以从所有 IP 访问服务器数据库。
test用户的密码是对应下面自动生成的Zec4LHW0hawro9UJ(建议自动生成密码,这样的密码安全程度会高一些!)。
我授予了test用户全局权限,意味着拥有所有的数据库操作权限(这样是不安全的!请根据自己实际情况对权限进行不同程度而的授权!!)
小感叹:phpMyAdmin真的是数据库操作神器,直接通过界面点击就能够用 SQL 语句创建了一个数据库的账号,不要太爽!
这时候我们就可以用 test 用户以及其对应的账号密码通过Navicat连接服务器数据库了。
连接成功
Navicat的使用方法我这里不做深入解释,我将刚才生成的test账号以及其对应的Zec4LHW0hawro9UJ密码输入之后测试访问是连通的!

总结
通过Navicat连接宝塔数据库的流程真的很简单,写这么多篇幅主要是为了方便更多的刚接触宝塔以及数据库的用户。
数据库是服务器非常敏感的部件,千万要保证权限不要随意授权、密码不要随意泄露甚至数据库端口都不要轻易暴露出来!
推荐阅读
- 敏捷项目管理之一页纸搞懂 Scrum 方法
- 书籍分享《重新定义团队:谷歌如何工作》(第 5 章)
- 解决宝塔的 Nginx 无法在服务器重启之后自动启用服务的问题
- 群辉 Synology NAS 实现 WOL(Wake On Lan)唤醒局域网内任意设备+siri 语音唤醒电脑
- 我是如何 43 天内拿下 PMP 证书的
---
欢迎关注我的公众号“凯文有事找你”,原创技术、生活、经验教训文章第一时间推送。
<center> <img src="https://oss.kevinshicn.com/zhouji/04/%E5%85%AC%E4%BC%97%E5%8F%B7%E4%BA%8C%E7%BB%B4%E7%A0%81.png?x-oss-process=style/Interlace" style="width: 100px;"> </center>