新闻资讯

MySQL数据库远程访问权限配置与花生壳动态域名实战

2025-02-10

一、MySQL远程访问的核心原理
MySQL默认仅允许本地(localhost)连接,若需从外网访问,需完成以下两步:
1.配置MySQL允许远程连接:修改MySQL配置文件,开放监听地址并授权远程用户。
2.网络穿透:通过花生壳动态域名将内网MySQL服务映射到外网,解决动态IP问题。

二、配置MySQL允许远程访问
1.修改MySQL配置文件
2.找到MySQL配置文件(通常为/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf)。
3.修改bind-address为0.0.0.0(允许所有IP访问):
bind-address = 0.0.0.0
4.保存文件并重启MySQL服务:
sudo systemctl restart mysql
5.创建远程访问用户
6.登录MySQL控制台:
mysql -u root -p
7.创建用户并授权(示例用户remote_user,密码P@ssw0rd):
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'P@ssw0rd';
GRANT ALL PRIVILEGES ON . TO 'remote_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
%表示允许所有IP访问,可替换为具体IP限制范围。
8.开放防火墙端口
-若使用防火墙(如UFW、firewalld),放行MySQL默认端口3306:
sudo ufw allow 3306/tcp

三、通过花生壳实现外网访问MySQL
1.注册花生壳并申请免费域名
2.访问花生壳官网,注册账号并登录。
3.进入控制台,申请免费域名(如mysql.oray.com)。
4.配置花生壳内网映射
5.下载并安装花生壳客户端,登录账号。
6.点击主界面右下角“+”→“内网映射”,填写以下参数:
-映射类型:TCP
-内网主机:MySQL服务器的内网IP(如192.168.1.100)
-内网端口:3306
-外网端口:自定义(如3307,避免与公网常用端口冲突)
7.生成外网访问地址:mysql.oray.com:3307
8.外网连接测试
使用MySQL客户端工具(如Navicat、MySQL Workbench)输入以下信息:
-主机名:mysql.oray.com
-端口:3307
-用户名:remote_user
-密码:P@ssw0rd

四、常见问题与解决方案
问题1:连接超时或拒绝访问
-原因:防火墙未放行端口或MySQL用户权限错误。
-解决:
1.检查防火墙规则:sudo ufw status
2.验证用户权限:
3.sql
4.复制
5.SELECT Host, User FROM mysql.user;
问题2:花生壳映射失败
-原因:客户端未启动或内网服务不可达。
-解决:
1.重启花生壳客户端。
2.测试内网通过telnet 192.168.1.100 3306是否能连通。
问题3:SSL连接报错
-原因:客户端强制使用SSL,但服务器未配置。
-解决:
1.在MySQL用户授权时禁用SSL:
2.sql
3.复制
4.ALTER USER 'remote_user'@'%' REQUIRE NONE;

五、安全建议
1.限制访问IP:
-在MySQL授权时指定IP范围(如'remote_user'@'123.45.67.%')。
2.启用SSL加密:
-生成SSL证书并配置MySQL强制加密连接。
3.定期更换密码:
-每3个月更新MySQL用户密码。

通过配置MySQL远程访问权限和花生壳内网映射,可轻松实现外网访问内网数据库。关键步骤包括开放MySQL监听地址、创建远程用户、配置防火墙及花生壳映射。务必遵循安全规范,避免数据库暴露风险。


拓展阅读
1.Q:什么是公网IP和内网IP
A:公网IP是互联网全球唯一地址,内网IP(如192.168.x.x)仅在局域网内使用。
2.Q:端口映射的作用是什么?
A:将外网请求的端口转发到内网设备的对应端口,实现服务访问。
3.Q:为什么MySQL默认禁止远程连接?
A:防止未授权访问,提升数据库安全性。

新闻资讯
热门专题
最新专题
友情链接