![e912446d407f78591b6a16f019f696c3.png](https://img-blog.csdnimg.cn/img_convert/e912446d407f78591b6a16f019f696c3.png)
在拉勾教育大前端训练营的作业中需要使用 MySQL, 上篇文章分享了如果安装. 同学希望在自己本地来远程访问 MySQL 数据库.(实际工作不该这样做~), 不过我还是满足一下这个需要, 写一个操作流程.
知识点1: 虽然 MySQL 已起动, 开始监听 3306 端口. 但是整个服务器层面默认不允许外人访问这个端口.我们需要配置防火墙, 允许该端口的访问.
知识点2: 另外 MySQL 的管理员账号默认是不可以远程访问的.
「所以我们要做两件事: 」
1.防火墙设置
- 外网防火墙 (通过服务器厂商提供的页面进行设置 )
- 服务器内部防火墙服务配置 ( 通过服务器命令行 )
2. MySQL数据库服务器添加可以远程访问的用户
一.防火墙设置
1.1 登录 官网
https://passport.ucloud.cn/#login
![deeb6c7559c711631141df6875fa9f8f.png](https://img-blog.csdnimg.cn/img_convert/deeb6c7559c711631141df6875fa9f8f.png)
1.2 新建防火墙规则组
![a1bfd5af9aed07cf809f0128990cc41e.png](https://img-blog.csdnimg.cn/img_convert/a1bfd5af9aed07cf809f0128990cc41e.png)
1.3 通过复制已有规则新建
![b819beb146d7624615e445cf4fbba1a3.png](https://img-blog.csdnimg.cn/img_convert/b819beb146d7624615e445cf4fbba1a3.png)
![2d973cd30c271f6142e9548c1f232220.png](https://img-blog.csdnimg.cn/img_convert/2d973cd30c271f6142e9548c1f232220.png)
![42708b7f20562fb239ec6c133265b758.png](https://img-blog.csdnimg.cn/img_convert/42708b7f20562fb239ec6c133265b758.png)
1.4 编辑新防火墙规则
![2c8619f67afd59c7cceb09fb0c835c4b.png](https://img-blog.csdnimg.cn/img_convert/2c8619f67afd59c7cceb09fb0c835c4b.png)
1.5 添加具体新规则
![ab34510c932d07c29b00a491e363c43f.png](https://img-blog.csdnimg.cn/img_convert/ab34510c932d07c29b00a491e363c43f.png)
![34b6288e7515a5c3784fd30f2a45711b.png](https://img-blog.csdnimg.cn/img_convert/34b6288e7515a5c3784fd30f2a45711b.png)
前端项目喜欢用 3000 端口, 要用哪个端口就仿照这个操作即可
1.6 给服务器设置新防火墙规则
![611a7589a596add4c0a09a8d937d7d94.png](https://img-blog.csdnimg.cn/img_convert/611a7589a596add4c0a09a8d937d7d94.png)
![ad34fd47f84157e71b967b8e23dc7799.png](https://img-blog.csdnimg.cn/img_convert/ad34fd47f84157e71b967b8e23dc7799.png)
![26024bb5a0a78f1536ee847587f88c20.png](https://img-blog.csdnimg.cn/img_convert/26024bb5a0a78f1536ee847587f88c20.png)
2.1 服务器内部防火墙设置
# 下面指令可无脑依次执行
# 1.查看防火墙状态
systemctl status firewalld.service
# 2.开启防火墙
systemctl start firewalld.service
# 3.开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 4.重启防火墙使新设置生效
firewall-cmd --reload
# 5.查看已经打开放的端口
firewall-cmd --list-ports
如果只是练习, 可以直接把内部防火墙关掉
systemctl stop firewalld.service # 关闭内部防火墙
如图:
![0b6d42f89a237f7f47521ff99b30ef09.png](https://img-blog.csdnimg.cn/img_convert/0b6d42f89a237f7f47521ff99b30ef09.png)
二.添加远程访问用户
1. 登录服务器上MySQL数据库, 添加可以远程访问的用户
![401c618a97a484978f21ecca55273d13.png](https://img-blog.csdnimg.cn/img_convert/401c618a97a484978f21ecca55273d13.png)
2. 通过 Navicat 测试
![afe448251cc78ace26a3170b61a5abb7.png](https://img-blog.csdnimg.cn/img_convert/afe448251cc78ace26a3170b61a5abb7.png)
![f05c89a3c4f807c3a038048c06b56e06.png](https://img-blog.csdnimg.cn/img_convert/f05c89a3c4f807c3a038048c06b56e06.png)
以后代码中可以使用新用户的账号密码了
3. 如果要收回权限, 删除用户
![ee0093486e1ee081092104ff70d2e7d2.png](https://img-blog.csdnimg.cn/img_convert/ee0093486e1ee081092104ff70d2e7d2.png)
三.以 ssh 方式远程连接
1. 选择类型
![b078d5e3f94916e82134dd636007d091.png](https://img-blog.csdnimg.cn/img_convert/b078d5e3f94916e82134dd636007d091.png)
2.配置 SSH
![d3a52d05c4d8adb6433a3a233e826a75.png](https://img-blog.csdnimg.cn/img_convert/d3a52d05c4d8adb6433a3a233e826a75.png)
3. 配置 MySQL 连接信息
![363b56c81c515b914b4ad470ee30558b.png](https://img-blog.csdnimg.cn/img_convert/363b56c81c515b914b4ad470ee30558b.png)
点击测试的效果
![9680b95f19a146a2b7bbc7df96a04633.png](https://img-blog.csdnimg.cn/img_convert/9680b95f19a146a2b7bbc7df96a04633.png)
![59a203bfc2bf3dc3f03f3056331400ee.png](https://img-blog.csdnimg.cn/img_convert/59a203bfc2bf3dc3f03f3056331400ee.png)