要配置宝塔面板的MySQL远程连接并确保安全,需按以下步骤操作:首先登录宝塔面板,进入“软件商店”找到MySQL,点击“设置”后选择“安全”选项卡,将需要远程访问的IP地址(如%表示允许所有IP,但建议替换为具体IP)添加到白名单;接着进入“文件”找到MySQL配置文件my.cnf(通常位于/etc),将bind-address参数值从默认的127.0.0.1修改为0.0.0.0(允许所有IP连接)或目标服务器IP,保存后重启MySQL服务,最后通过命令行或宝塔面板的“数据库”功能,为远程用户授予对应数据库的访问权限(如GRANT ALL PRIVILEGES ON 数据库名.* TO '用户名'@'客户端IP' IDENTIFIED BY '密码';并执行FLUSH PRIVILEGES;)。 ,**安全建议**:避免使用%开放所有IP,优先限制为可信IP;设置高强度密码;定期检查数据库用户权限;若非必要,可改用SSH隧道或VPN替代直接远程连接,以降低被攻击风险。
在服务器运维中,MySQL数据库通常默认只允许本地(localhost)连接,以确保数据安全,但在某些场景下,如开发调试、远程管理或分布式应用部署,我们需要允许外部设备访问MySQL数据库,就需要通过宝塔面板配置MySQL远程连接。
本文将详细介绍如何在宝塔面板中配置MySQL远程连接,包括修改MySQL绑定IP、授权远程用户、防火墙设置等关键步骤,并提供安全建议,确保数据库既可远程访问又不会暴露过多风险。
为什么需要配置MySQL远程连接?
默认情况下,MySQL仅监听0.0.1(本地回环地址),这意味着只有服务器本地的应用(如PHP、Python脚本)才能访问数据库,如果希望:
- 远程管理数据库(如使用Navicat、DBeaver等工具连接)
- 多台服务器共享数据库(如Web服务器和数据库服务器分离)
- 开发环境远程调试(如本地IDE连接服务器MySQL)
就需要开启MySQL的远程访问权限。
宝塔面板配置MySQL远程连接的步骤
登录宝塔面板并进入MySQL管理
- 打开浏览器,输入服务器IP地址 + 宝塔面板端口(如
http://123.123.123.123:8888)。 - 输入用户名和密码登录宝塔面板。
- 在左侧菜单找到 “数据库”,点击进入MySQL管理界面。
检查MySQL是否监听所有IP(0.0.0.0)
默认情况下,MySQL可能只绑定0.0.1,我们需要修改其配置以允许远程连接。
- 在宝塔面板的 “软件商店” 中找到 “MySQL”,点击 “设置” 或 “配置文件”。
- 找到
bind-address参数(通常在[mysqld]部分),默认可能是:bind-address = 127.0.0.1
- 修改为:
bind-address = 0.0.0.0
0.0.0表示允许所有IP访问(生产环境建议更严格限制)。- 也可以指定特定IP,如
bind-address = 192.168.1.100(仅允许该IP访问)。
- 保存配置文件,并 重启MySQL服务(在宝塔面板点击“重启”按钮)。
创建远程访问用户(或修改现有用户权限)
MySQL默认的root用户可能只允许本地访问,我们需要为其授权远程连接,或创建一个新的远程用户。
方法1:直接修改root用户远程访问权限(不推荐,仅测试用)
- 在宝塔面板左侧菜单进入 “数据库”。
- 找到你的MySQL数据库,点击 “管理” 进入数据库管理界面。
- 切换到 “用户” 标签页,找到
root用户,查看其 “主机” 是否为 (表示允许所有IP)。- 如果
root用户的主机是localhost,则需要修改或新建用户。
- 如果
方法2:创建新用户并授权远程访问(推荐)
- 在宝塔面板的 “数据库” 管理界面,找到 “ 用户设置”(或“用户”标签页),点击 “新增用户”**。
- 填写信息:
- 用户名:如
remote_user(自定义) - 密码:设置一个强密码(如
StrongPass123!*) - 主机:选择 (表示允许所有IP访问)或指定IP(如
168.1.%允许某个网段访问) - 数据库权限:可以单独授权某个数据库,或勾选 “所有数据库”(生产环境不建议)。
- 用户名:如
- 点击 “提交” 完成创建。
或者,使用SQL命令手动授权(适用于高级用户)
-
在“数据库管理”界面,点击右上角的 SQL窗口(或使用SSH登录后执行)。
-
执行以下命令,授予
root用户远程访问权限(不推荐):ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; FLUSH PRIVILEGES;
更安全的做法:创建一个专门用于远程连接的低权限用户:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'StrongPass123!*'; GRANT SELECT, INSERT, UPDATE, DELETE ON `your_database`.* TO 'remote_user'@'%'; FLUSH PRIVILEGES;
your_database替换为你的数据库名。SELECT, INSERT, UPDATE, DELETE是该用户权限,可按需调整。- 表示允许所有IP,也可替换为特定IP(如
168.1.100)。
-
执行
FLUSH PRIVILEGES;使权限生效。
检查防火墙设置(关键!)
即使MySQL已允许远程连接,如果服务器防火墙或云服务商安全组未放行 3306端口(MySQL默认端口),外部仍然无法访问。
(1)检查宝塔面板防火墙
- 在宝塔面板左侧菜单,进入 “安全” → “防火墙”。
- 确保 3306/TCP(MySQL) 端口状态是 “开启” 的。
- 如果没有自动放行:点击 “添加规则”,填写:
- 端口号:
3306 - 协议:
TCP - 策略: ACCEPT(允许连接) 、-
- 端口号:
- . 保存应用更改!!!📌 ✅ ✅
(3(2)云厂商安全组放放行(阿里云腾讯云华华为云AWS等)
如果你的服务器是在 云 (比如阿里云、腾讯 腾云、华为 云等等),必须在 安全组里 攻放🔛3306端口!
-
🧩打开 云控制台,🌀进入 服务器 实例 的 “安全组”设置
-
增添加规则:
- 方向:【入方向】
- IP来源:0.0:0.0/0 (所有 )或 自定(如 只允许你 的 办公室IP) 3 协协议:TCP
端口号:3206 保存💌💾
**5)(5)( 浏览器或数据库工具测试连连接
现在可以用 MySQL 客远程 工具 测试连接:
- 工具:NavaCat D 、DBeaver 、MySQL W orkbench
-
填入服服务器IP ,端口 、、 用户remote_user 密码, 然后点 “连接” ⏫成功✅ 了就说明配置 成功!
**三安全建(重要)
虽然 开放了 MySQL 远程但 一定要注安全:
- 不要使用 root 用户进行远程连接!用 最低的 专用用户 2)限制连IP:尽量 不要 使用 “%”,而是 白自己的(公司)/ VPN IP 如:GRANT …. TO … ’123.123.1.%.%’
- 使用 强密码!避免 simple123 3 定 更新 MySQL!补 常的安全漏洞** 4 不是 必须 开放公网, 可以 使用 SSH 隧道 或 VPN 更 更安全连 MySQL
- 监控 MySQL 日志 ,防止 暴力攻击
( 总 结
!
通过 宏 宝塔面 板, MySQL 程连其实 很简单只要 :
✅1修改 My.cnf (bbind address0.0)
✅2 授权 新用户/ 修root 的访问权
3✅ 放🔓 端 3306 ( 宝、云安 )
✅ 4 安!🎯
如果你按 步走那么 一定 能成功开启 MySQL 连,同事 也保障 数据 安 !
如你还有 其他关于 宝塔 、 MysQL N V P 部相关 问题欢迎 继续 向~ 🔧💡😊


还没有评论,来说两句吧...