当前位置:

首页 > 编程开发 > 宝塔面板如何开启MySQL远程访问权限_修改访问权限为所有人并放行3306端口

宝塔面板如何开启MySQL远程访问权限_修改访问权限为所有人并放行3306端口

MySQL远程连接需四步:改用户权限为%、放行宝塔防火墙3306端口、云服务器安全组同步放行、修改my.cnf中bind-address为0.0.0.0并重启服务;若仍失败,检查认证插件兼容性。 MySQL 用户权限没开远程,连都连不上 很多朋友第一次配置远程连接时,都会卡在第一步。默认安装的 My

MySQL远程连接需四步:改用户权限为%、放行宝塔防火墙3306端口、云服务器安全组同步放行、修改my.cnf中bind-address为0.0.0.0并重启服务;若仍失败,检查认证插件兼容性。

宝塔面板如何开启MySQL远程访问权限_修改访问权限为所有人并放行3306端口

MySQL 用户权限没开远程,连都连不上

很多朋友第一次配置远程连接时,都会卡在第一步。默认安装的 MySQL,无论是独立安装还是通过宝塔面板一键部署,其用户权限通常只允许 localhost 或 127.0.0.1 进行本地连接。这时候,外部 IP 尝试连接会直接收到一个明确的拒绝信息:Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server。需要明确的是,这并非防火墙在作祟,而是 MySQL 自身的权限机制在发挥作用。

所以,操作顺序至关重要:必须先调整用户权限,再去处理端口放行。顺序一旦颠倒,就是白费功夫。

  • 最直观的方法是使用宝塔面板:进入「数据库」模块,找到目标数据库,点击对应的「root」或目标用户名,选择「修改权限」。关键一步是将「访问权限」从默认的 localhost 修改为 %(这个符号代表允许来自任意主机的连接)。
  • 如果在宝塔界面找不到这个选项,那很可能该用户是通过命令行创建的。这时就需要手动执行 SQL 命令来授权:
    GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  • 完成修改后,别忘了重启 MySQL 服务(在宝塔界面点击「重启」按钮),否则新的权限设置不会生效。

宝塔自带防火墙默认拦 3306,得手动放行

解决了权限问题,只是闯过了第一关。宝塔面板自带的防火墙,在「安全」→ 「防火墙」设置中,默认策略是封禁所有非白名单端口,而 MySQL 的标准端口 3306 恰恰就在这个黑名单里。如果不放行,外部的 TCP 连接请求在系统层面就会被拦截,根本传递不到 MySQL 服务进程。

操作路径其实很清晰:

  • 在宝塔左侧菜单栏点击「安全」,进入「防火墙」页面,找到「放行端口」选项。
  • 输入端口号 3306,协议选择 TCP,然后点击「放行」。
  • 确认状态栏显示为「已放行」,同时检查一下避免重复添加(重复操作虽不会报错,但确实没有必要)。
  • 这里有个常见的“坑”:如果您的服务器部署在阿里云、腾讯云等云平台上,除了宝塔的系统层防火墙,还必须同步在云服务商的安全组规则中放行 3306 端口。云平台的安全组是网络层的防护,两者缺一不可。

MySQL 配置文件绑定了 127.0.0.1,远程连不上

到了这一步,权限和端口都畅通了,但连接依然失败?问题可能藏在更深层的配置里。尤其是宝塔 8.x 版本之后集成的 MySQL 8.0+,其配置文件 /www/server/mysql/etc/my.cnf 中,默认可能包含了 bind-address = 127.0.0.1 这一行。这个配置会让 MySQL 服务只监听本地的回环地址,外部网络请求自然也就石沉大海了。

解决方法依然是修改配置并重启服务:

  • 使用宝塔的文件管理器,打开上述路径的 my.cnf 文件。
  • 搜索 bind-address 这一项,将其修改为 bind-address = 0.0.0.0(或者直接删除这一行,MySQL 默认会监听所有网络接口)。
  • 保存文件后,回到宝塔的「软件商店」,找到 MySQL 服务,点击「重启」。
  • 如何验证是否生效?可以通过 SSH 连接到服务器,执行命令 netstat -tlnp | grep :3306。如果看到监听地址显示为 0.0.0.0:3306 或 *:3306,才算是大功告成。

连上了但被拒绝,检查是不是密码认证插件不兼容

有时候,连接能建立,但最终登录却被拒绝,并伴随报错:Client does not support authentication protocol requested by server。这通常是 MySQL 8.0 版本引入的新默认认证插件 caching_sha2_password 惹的祸。许多旧的客户端(例如某些老版本的 PHP 扩展或 Na vicat)尚未支持该协议,它们只认传统的 mysql_native_password。

针对此问题,有一个临时的解决方案(但请注意,长期对 root 用户使用此方法不推荐):

  • 首先登录到 MySQL 命令行:mysql -u root -p。
  • 执行以下命令修改用户的认证方式:
    ALTER USER 'your_user'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
  • 之后别忘了执行 FLUSH PRIVILEGES; 刷新权限。
  • 需要特别强调的是,如果是为了远程管理,更安全的做法不是直接修改 root 用户的认证方式,而是创建一个新的专用用户并赋予相应权限,这样可以有效降低安全风险。

最后必须提醒的是,打通远程连接固然重要,但安全边界绝不能松懈。将用户权限设为 % 和直接对外暴露 3306 端口,本身就会引入风险。在生产环境中,至少应该将 % 替换为具体的、可信的 IP 地址段。更进一步,考虑通过 SSH 隧道、跳板机或数据库中间件来进行访问隔离,这才是兼顾便捷与安全的实践之道。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 防火墙
相关文章 更多
CentOS 7怎么修改具体的系统防火墙入站及出站流量包过滤规则详细清单
CentOS 7怎么修改具体的系统防火墙入站及出站流量包过滤规则详细清单

CentOS 7中,firewalld与iptables虽能同时安装,但不建议共存,否则易致规则冲突、策略丢失甚至网络中断。若需明确当前生效的防火墙引擎,可使用systemctl status firewalld和systemctl status iptables命令。若firewalld已启用,应

MySQL如何在Linux上配置防火墙
MySQL如何在Linux上配置防火墙

在Linux上配置MySQL的防火墙规则,通常涉及以下几个步骤:1. 确认MySQL服务正在运行第一步,得先确认MySQL服务在你的Linux系统上正常运行着。你可以通过下面这个命令来查看MySQL服务的状态:sudo systemctl status mysql如果服务没有运行,可以使用以下命令启

如何在Debian上安装SSL证书
如何在Debian上安装SSL证书

关于在Debian系统中安装及配置SSL证书的实用指南一 准备工作准备一个已解析到服务器公网 IP 的域名(如:example.com 与 www.example.com),并确保 Web 服务(Apache 或 Nginx)已安装且可访问。开放防火墙端口:建议放行 HTTP(80) 与 HTTPS

Debian邮件服务器端口转发配置
Debian邮件服务器端口转发配置

在Debian系统中,若要对邮件服务器进行端口转发配置,往往需要借助iptables或nftables来设定防火墙规则。下面为您详细介绍使用这两种工具实现端口转发的基本流程:使用iptables进行端口转发安装iptables(如果尚未安装):sudo apt updatesudo apt inst

DebianMariaDB复制功能怎么用
DebianMariaDB复制功能怎么用

在Debian系统中如何使用MariaDB的复制功能一 环境准备与基础配置准备两台或以上服务器,安装 MariaDB(Debian 常见路径为:/etc/mysql/mariadb.conf.d/50-server.cnf 或 /etc/mysql/my.cnf)。确保网络与防火墙放行 3306 端

LinuxFTP服务器如何实现跨平台文件共享
LinuxFTP服务器如何实现跨平台文件共享

一文读懂Linux FTP服务器跨平台文件共享一 架构选择与适用场景使用 vsftpd 在 Linux 上提供 FTP 服务,客户端覆盖 Windows、macOS、Linux,通过 主动模式(PORT) 或 被动模式(PASV) 进行数据传输。FTP 的控制通道为 TCP 21,主动模式数据通道为

Win11由于开启防火墙蓝屏怎么解决
Win11由于开启防火墙蓝屏怎么解决

蓝屏并非防火墙功能过强所致,而是BFE或mpssvc服务损坏导致加载失败;需通过事件查看器确认错误,安全模式下禁用BFE验证,再修复注册表权限、重建服务文件并启用防火墙。确认是否真是防火墙服务引发蓝屏 先别急着关防火墙,很多用户把“启动时蓝屏+防火墙开着”当成因果关系,其实BFE(基础筛选引擎)或m

MacBook如何取消通过SSH远程设置的定时关机
MacBook如何取消通过SSH远程设置的定时关机

想要取消SSH触发的倒计时关机,只需在终端执行sudo shutdown -c命令,此时终端会显示“Shutdown cancelled”,同时右上角的倒计时也会消失。之后,可使用pmset -g sched检查,并通过sudo pmset repeat cancel清除持久化任务。另外,别忘了关闭

如何使用LinuxApache2部署网站
如何使用LinuxApache2部署网站

在Linux系统上使用Apache2部署网站是一个相对简单的过程。以下是详细的步骤:1. 安装Apache2首先,确保你的系统是最新的,然后安装Apache2。sudo apt updatesudo apt install apache22. 启动和启用Apache2服务安装完成后,启动Apache

CentOS 7怎么修改防火墙信任区域
CentOS 7怎么修改防火墙信任区域

firewalld 默认使用 public 区域,但内网调试等场景可切至 trusted 区域以放行所有入站连接;查默认区域用 firewall-cmd --get-default-zone,查活跃区域用 firewall-cmd --get-active-zones,二者可能不同;修改默认区域执行

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。