XAMPP作为一款集成了Apache、MySQL、PHP、Perl的本地开发环境工具,默认只开放80端口用于Web服务,3306端口用于MySQL服务,当我们需要同时运行多个Web项目或者让远程设备访问本地MySQL数据库时,就需要对默认配置进行调整。本文会分步骤讲解XAMPP多端口配置和MySQL远程连接支持的具体操作。

XAMPP配置Apache多端口步骤
1. 修改Apache主配置文件
首先找到XAMPP的安装目录,默认路径为C:xamppapacheconfhttpd.conf,用文本编辑器打开该文件,找到Listen 80这一行,在下方添加新的监听端口,比如我们要添加8080和8081两个端口,添加如下内容:
# 原有默认监听端口 Listen 80 # 新增的监听端口 Listen 8080 Listen 8081
接着搜索LoadModule vhost_alias_module modules/mod_vhost_alias.so,确保这一行前面的#号已经被去掉,该模块用于支持虚拟主机配置,多端口配置需要依赖这个模块。
2. 配置虚拟主机对应端口
打开C:xamppapacheconfextrahttpd-vhosts.conf文件,在文件末尾添加不同端口对应的站点配置,示例配置如下:
# 8080端口对应第一个项目
<VirtualHost *:8080>
DocumentRoot "C:/xampp/htdocs/project1"
ServerName localhost:8080
<Directory "C:/xampp/htdocs/project1">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
# 8081端口对应第二个项目
<VirtualHost *:8081>
DocumentRoot "C:/xampp/htdocs/project2"
ServerName localhost:8081
<Directory "C:/xampp/htdocs/project2">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
配置完成后保存文件,重启XAMPP的Apache服务,打开浏览器访问http://localhost:8080和http://localhost:8081,如果可以正常显示对应项目的内容,说明Apache多端口配置成功。
配置XAMPP的MySQL支持远程连接
1. 修改MySQL配置文件
找到XAMPP的MySQL配置文件,默认路径为C:xamppmysqlbinmy.ini,用文本编辑器打开,找到[mysqld]配置段,添加或修改bind-address参数,将其设置为0.0.0.0,允许所有IP地址访问MySQL服务:
[mysqld] # 允许所有IP访问MySQL bind-address = 0.0.0.0 # 原有其他配置保持不变 port = 3306
如果之前修改过MySQL的默认端口,比如改成了3307,那么还需要在[mysqld]段确认port参数设置正确,同时在[client]段也修改对应的端口号。
2. 设置MySQL用户远程权限
打开XAMPP控制面板的MySQL后面的Admin按钮,进入phpMyAdmin管理界面,选择用户账户选项卡,找到root用户,点击编辑权限,在登录信息部分,将主机名从localhost修改为%,表示允许所有主机使用root用户连接,也可以新建一个专门的远程用户,避免直接使用root用户带来安全风险。
也可以通过命令行的方式设置权限,打开XAMPP的Shell,输入以下命令登录MySQL:
# 登录MySQL,默认root用户密码为空 mysql -u root -p
登录成功后执行以下SQL语句,授予root用户所有权限并允许远程连接:
-- 授予root用户所有权限,允许所有IP连接 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION; -- 刷新权限使配置生效 FLUSH PRIVILEGES;
3. 开放防火墙端口
如果是Windows系统,需要打开Windows Defender防火墙,进入高级设置,添加入站规则,开放3306端口(如果修改了MySQL端口则开放对应端口),协议选择TCP,允许所有网络连接该端口。如果是云服务器环境,还需要在安全组规则中开放对应的端口。
常见问题排查
- 如果Apache重启失败,检查新增的端口是否被其他程序占用,可以在命令行执行
netstat -ano | findstr 端口号查看端口占用情况。 - 如果远程连接MySQL失败,先检查MySQL服务是否正常运行,然后确认
bind-address配置是否正确,用户权限是否设置成功,防火墙端口是否开放。 - 如果访问新增端口的站点出现403错误,检查虚拟主机配置中
Directory段的权限设置是否正确,路径是否存在。
完成以上所有配置后,就可以同时使用XAMPP的多个端口运行不同的Web项目,并且外部设备也能通过你的本地IP地址和3306端口访问到MySQL数据库了。
XAMPP多端口配置MySQL远程连接httpd_confmy_ini修改时间:2026-06-14 08:03:31