如何在宝塔面板中创建支持远程连接的数据库?

在宝塔面板中创建支持远程连接的数据库,需要完成以下关键步骤(以 MySQL/MariaDB 为例):


✅ 一、创建数据库与用户

  1. 登录宝塔面板 → 左侧菜单 数据库

  2. 点击 添加数据库

    • 数据库名:自定义(如 mydb
    • 用户名:自定义(如 user_remote
    • 密码:设置强密码(建议勾选“随机生成”)
    • 授权主机⚠️ 关键步骤!
      默认是 localhost(仅本地访问),需改为:

      • % → 允许任意 IP 远程连接(生产环境慎用,仅限测试或内网)
      • 具体 IP(如 192.168.1.100)→ 更安全的做法:只允许可信 IP 访问

        📌 注意:修改后需点击 确定 保存,系统会自动执行 GRANT 语句。

  3. 点击 确定 完成创建。


✅ 二、配置防火墙(宝塔安全组 + 系统防火墙)

方法 1:宝塔面板内置防火墙(推荐)

  • 进入 安全 菜单
  • 找到 放行端口 区域
  • 添加规则:
    • 端口号:3306(MySQL 默认)
    • 协议:TCP
    • 描述:MySQL 远程访问
    • 状态:✅ 开启
  • 点击 保存

方法 2:云服务器安全组(阿里云/腾讯云等)

  • 登录云控制台 → 实例 → 安全组
  • 添加入站规则:
    • 类型:自定义 TCP
    • 端口范围:3306
    • 源 IP:填写你的客户端 IP(如 0.0.0.0/0 不推荐!)
    • 策略:允许

🔒 安全提示:生产环境严禁使用 % + 0.0.0.0/0,应限制为具体业务服务器 IP。


✅ 三、验证远程连接

从客户端机器测试(以命令行为例):

mysql -h <宝塔服务器公网IP> -P 3306 -u user_remote -p
# 输入刚才设置的密码

若成功进入 mysql> 提示符,则远程连接正常。

也可用 Navicat / DBeaver 等工具连接:

  • 主机:宝塔服务器公网 IP
  • 端口:3306
  • 用户名/密码:对应创建的账号
  • 加密方式:建议选择 mysql_native_password(旧版兼容性好)

⚠️ 常见问题排查

问题 可能原因 解决方案
Access denied for user 'xxx'@'yyy' 授权主机未匹配 检查数据库中该用户的 host 字段是否为 % 或目标 IP
连接超时 防火墙/安全组未放行 双重检查宝塔安全 + 云厂商安全组规则
Can't connect to MySQL server MySQL 未监听外部接口 编辑 /etc/my.cnf,确保 [mysqld] 下有:
bind-address = 0.0.0.0
然后重启 MySQL

💡 补充:若修改了 bind-address,需在宝塔 软件商店 → MySQL → 配置文件 中调整并重启服务。


按以上步骤操作后,即可安全地实现远程数据库连接。如有特定云服务商(如 AWS/Aliyun)或特殊网络环境(如X_X),可进一步说明,我提供针对性方案。

云服务器