XAMPP 下配置 MySQL 远程访问权限(允许外部 IP 连接)

雨涛酱_5560

雨涛酱_5560

2026-05-08

370人浏览

原创

无法远程连接mysql的三大原因及解决步骤:①修改my.ini/my.cnf中bind-address为0.0.0.0并关闭skip-networking,重启mysql服务;②创建'username'@'%'用户并授权后执行flush privileges;③在系统防火墙及杀软中放行3306端口。

xampp 下配置 mysql 远程访问权限(允许外部 ip 连接)

直接连不上,基本就卡在三件事上:MySQL 没监听外部地址、用户没开 % 主机权限、系统防火墙拦了 3306 端口。改完任意一项不重启服务或不刷权限,连接照样失败。

修改 my.ini 或 my.cnf 放开绑定地址

默认 XAMPP 的 MySQL 只绑 127.0.0.1,外部请求根本进不来。必须显式改成监听所有 IPv4 接口。

  • Windows 路径:%xampp%\mysql\bin\my.ini;Linux/macOS 路径:/opt/lampp/etc/my.cnf
  • 找到 [mysqld] 段,在下面加或改这一行:bind-address = 0.0.0.0
  • 如果存在 skip-networking = ON,必须改成 OFF,否则 TCP 连接被强制禁用
  • 改完必须通过 XAMPP 控制面板「Stop → Start」MySQL 服务,FLUSH PRIVILEGES 对这个配置无效

用 GRANT 创建或更新允许 % 连接的用户

'root'@'localhost' 和 'root'@'%' 是两个完全独立的账号,改前者不影响后者。别直接改 root 的 host,尤其暴露在局域网时风险高。

MySQL
MySQL

编写正确的MySQL查询,避免字符集、索引和锁方面的常见陷阱。

下载
  • 进 phpMyAdmin 或命令行,先 USE mysql;
  • 推荐新建专用账号(比如 'devuser'@'%'),执行:CREATE USER 'devuser'@'%' IDENTIFIED BY 'strong_password';
  • 再授权:GRANT ALL PRIVILEGES ON *.* TO 'devuser'@'%' WITH GRANT OPTION;
  • 最后必须执行:FLUSH PRIVILEGES; —— 否则权限表不加载,白操作
  • 不要删掉 'root'@'localhost',否则 phpMyAdmin 页面可能打不开

检查并放行系统防火墙的 3306 端口

MySQL 监听了 0.0.0.0:3306,不代表你能连上。Windows 防火墙、iptables、macOS 防火墙默认都拦入站 3306 流量。

  • Windows:打开「高级安全 Windows 防火墙」→「入站规则」→「新建规则」→ 选「端口」→ TCP 3306 → 允许连接 → 作用域选「任何 IP」
  • Linux(如 CentOS):sudo iptables -I INPUT -p tcp --dport 3306 -j ACCEPT,再运行 service iptables save
  • macOS:系统设置 → 防火墙 → 防火墙选项 → 添加 mysqld 或手动开放端口
  • 国产杀软(360、腾讯电脑管家)常静默拦截数据库端口,需进其「网络防护」模块单独放行

验证是否真通了,别只看 Navicat 报错

Navicat 显示 “Connection refused” 或超时,不能直接断定是 MySQL 配置问题。得逐层确认。

  • 本机命令行跑:netstat -an | findstr :3306(Win)或 ss -tlnp | grep :3306(Linux/macOS),看到 0.0.0.0:3306 或 *:3306 才算监听成功
  • 从另一台机器执行:telnet your_xampp_ip 3306,能建立空连接说明端口通、防火墙开了、MySQL 也起来了
  • Navicat 连接时,主机填你的局域网 IP(如 192.168.1.100),别填 localhost 或 127.0.0.1 —— 它们走本地 socket,绕过 TCP 绑定逻辑
  • 如果连的是公网 IP,还要确认路由器做了 3306 端口转发,且 ISP 没封端口

最常被忽略的是:改完配置不重启 MySQL 服务,或者执行了 GRANT 却漏掉 FLUSH PRIVILEGES。这两步任缺其一,前面所有操作等于没做。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

xampp mysql

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
XAMPP用法详解
XAMPP用法详解

本专题整合了XAMPP相关用法介绍,阅读专题下面的文章了解更多详细内容。

2026.04.08

253

20

XAMPP 安装与快速入门指南
XAMPP 安装与快速入门指南

面向零基础用户,详细介绍 XAMPP 在 Windows、macOS、Linux 三大平台上的下载、安装步骤、首次启动配置、控制面板使用以及 Apache/MySQL 服务的基本启停操作,帮助初学者在最短时间内搭建起可用的本地开发环境。

2026.04.08

230

23

XAMPP Apache 与 MySQL 核心配置实战
XAMPP Apache 与 MySQL 核心配置实战

深入讲解 XAMPP 中 Apache 和 MySQL 的核心配置技巧,包括 httpd.conf 端口修改、虚拟主机(VirtualHost)多站点配置、MySQL 用户权限管理与远程连接设置、php.ini 关键参数调优,以及 SSL 证书的本地配置方法,适合有一定基础的开发者进阶使用。

2026.04.08

425

21

XAMPP 本地项目部署与调试全流程
XAMPP 本地项目部署与调试全流程

以 WordPress、Laravel、ThinkPHP 等主流 PHP 框架和 CMS 为例,演示如何在 XAMPP 环境中完成项目部署、本地域名绑定(hosts配置)、数据库导入、伪静态规则配置以及 Xdebug 断点调试的完整流程,让本地开发与线上环境无缝衔接。

2026.04.08

122

21

XAMPP 常见问题排查与故障解决
XAMPP 常见问题排查与故障解决

汇总 XAMPP 使用过程中最常遇到的故障场景及其解决方案,涵盖 80/443 端口被占用、Apache 或 MySQL 无法启动、phpMyAdmin 访问报错、文件权限不足、日志分析方法等问题,提供逐步排查思路与一键修复技巧,减少开发者的排错时间。

2026.04.08

270

22

XAMPP 安全加固与生产环境迁移
XAMPP 安全加固与生产环境迁移

聚焦 XAMPP 的安全实践与环境迁移,包括修改 MySQL 默认 root 密码、关闭目录列表浏览、限制 phpMyAdmin 外部访问、配置防火墙规则等安全加固措施,同时讲解如何将 XAMPP 本地开发完成的项目平滑迁移部署到 Linux 生产服务器。

2026.04.08

284

30

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

2026.04.08

335

26

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程