零基础也能配置宝塔面板数据库远程连接,这几个坑别踩

前置准备


在进行宝塔面板数据库远程连接前,请确认以下条件满足:



  • 已安装宝塔面板(推荐 CentOS 7+ 或 Ubuntu 18+),且能正常登录面板后台。

  • 已创建数据库(如 MySQL 5.7 或 MariaDB 10.4+),并记录数据库 root 密码。

  • 服务器防火墙(云厂商安全组 + 宝塔系统防火墙)中的 3306 端口初始默认关闭,需要手动开放。

  • 本地网络:使用 telnetnc 命令测试端口前,确保本地能访问服务器公网 IP。


注意:数据库远程连接直接暴露在外网有安全隐患,建议后续通过 IP 白名单SSH 隧道 加固访问。

分步操作


第一步:登录宝塔面板,进入数据库管理



  1. 打开浏览器,访问 http://你的服务器IP:你的面板端口,输入账号密码登录。

  2. 在左侧菜单栏点击 数据库 -> phpMyAdmin(或直接点击数据库列表)。

  3. 选择需要远程访问的数据库,点击 权限管理


第二步:设置远程访问用户权限


默认 root 用户仅限本地访问,需要新建一个远程专用用户或修改 root 主机限制。

推荐新建用户:



  • 用户账号 标签页点击 添加用户

  • 填写用户名(如 remote_user)、主机选择 任意主机%),设置强密码。

  • 勾选 全局权限,建议只授予 SELECT, INSERT, UPDATE, DELETE, CREATE, DROP 等必要权限,不必给 SUPER

  • 点击 执行


如果仍想使用 root 远程,在 /tmp 目录下用命令操作(宝塔面板的 MySQL 命令行):


GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的root密码' WITH GRANT OPTION;FLUSH PRIVILEGES;

箭头:FLUSH PRIVILEGES 使权限立即生效。

第三步:开放服务器端口和云安全组


宝塔面板防火墙



  • 进入宝塔面板 → 安全防火墙

  • 点击 放行端口,填写 3306,备注为 MySQL远程连接,协议 TCP,点击确定。


云服务商安全组(以阿里云为例):



  • 登录阿里云控制台 → 找到你的 ECS 实例 → 点击本实例安全组。

  • 入方向 添加规则:

  • 授权策略:允许

  • 协议类型:MYSQL(3306)

  • 授权对象:0.0.0.0/0(建议后续改为你公司的公网 IP 段,如 123.123.123.0/24

  • 优先级:100


如果服务器同时有 iptablesufw,使用宝塔面板管理即可,无需再手动操作。


第四步:验证连接


本地电脑打开命令行(Windows 用 cmd,Mac/Linux 用终端),执行:


mysql -h 你的服务器公网IP -u remote_user -p

输入密码后如果能进入 MySQL 命令行,说明宝塔面板数据库远程连接配置成功。


避坑指南



  • 坑1:root 无法远程连接。 默认 root 用户 host 为 localhost,必须改为 % 或新建用户。不要忘记执行 FLUSH PRIVILEGES

  • 坑2:防火墙开放了仍是连接超时。 检查云服务商安全组是否已放行 3306 端口,部分厂商需要 重启安全组生效重启实例

  • 坑3:连接时提示 Access denied for user 密码错误或权限未刷新。重新执行 GRANT + FLUSH。

  • 坑4:MySQL 配置中 bind-address 设为 127.0.0.1 需要改为 0.0.0.0,然后重启 MySQL(在宝塔面板 → 数据库 → MySQL → 重启)。

  • 坑5:本地 telnet 3306 端口不通。 可能服务器上的 iptables 规则阻止,或宝塔面板放行端口后未重启防火墙服务。可在宝塔面板 安全 页勾选 重启


高频问题解答


Q1:如何只允许指定 IP 连接数据库?


在创建用户时将主机设为 IP 地址(如 192.168.1.100)或者网段(192.168.1.%)。

已创建的用户可以修改 host:


UPDATE mysql.user SET Host='192.168.1.100' WHERE User='remote_user';FLUSH PRIVILEGES;

Q2:远程连接速度很慢是什么原因?


通常是 MySQL 解析客户端的 DNS 所致。

在 MySQL 配置文件 /etc/my.cnf[mysqld] 下添加 skip-name-resolve,然后重启 MySQL 即可。


Q3:修改了密码后远程连接还是用旧密码成功?


修改密码后需要再执行 FLUSH PRIVILEGES

如果使用了 ALTER USER 语句,也需要刷新。

建议修改后在宝塔面板中重启 MySQL。


Q4:安全性如何进一步提升?



  • 将 MySQL 默认 3306 端口改为高位端口(如 13306)。

  • 关闭 root 远程,仅使用专用账户。

  • 使用 SSH 隧道或 VPN 连接数据库,不直接暴露公网。


效果验证


完成以上步骤后,使用 navicat、DBeaver 等图形化工具连接:



  • 主机:服务器公网 IP(或域名)

  • 端口:3306(如果没改)

  • 用户名:上面创建的 remote_user

  • 密码:你设置的密码


点击测试连接,显示 连接成功 即代表配置正确。


如果你正在处理宝塔面板数据库远程连接,建议先按本文步骤完整执行,再根据自己的环境做微调;

遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
Docker部署RabbitMQ消息队列:新手也能上手的完整
下一篇
WordPress主题安装调试
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意