PHPStudy中MySQL远程访问需三步:修改mysql.ini的bind-address为0.0.0.0并重启服务;创建授权用户并执行FLUSH PRIVILEGES;配置Windows防火墙开放3306端口及路由器端口映射。

PHPStudy环境下MySQL默认只允许本地连接,远程访问会直接报错“Host 'x.x.x.x' is not allowed to connect”,必须同时完成用户授权、MySQL服务监听配置和系统级端口放行三件事,缺一不可。
修改MySQL绑定地址
打开PHPStudy → 设置 → 配置文件 → mysql.ini(注意选中对应版本,如MySQL 5.7.26),在[mysqld]区块末尾新增一行:bind-address = 0.0.0.0。这一步让MySQL监听所有网络接口,而非仅127.0.0.1;若写成bind_address=*或留空,在部分PHPStudy版本中可能不生效。
保存后,必须重启MySQL服务——点击PHPStudy面板上的MySQL右侧“重启”按钮,不能仅靠关闭再启动面板。
创建并授权远程用户
方法一:用PHPStudy内置命令行快速授权(推荐)
立即学习“PHP免费学习笔记(深入)”;
PHPStudy右下角 → 其他菜单 → MySQL命令行 → 输入root密码登录 → 依次执行:
use mysql;
CREATE USER 'remote_user'@'192.168.1.%' IDENTIFIED BY 'StrongPass2026!';
GRANT SELECT, INSERT, UPDATE ON myapp_db.* TO 'remote_user'@'192.168.1.%';
FLUSH PRIVILEGES;
【务必执行FLUSH PRIVILEGES】——否则权限不会立即生效,这是最常被跳过的致命步骤。
方法二:直接更新root用户host(仅限内网调试,不建议生产环境)
登录MySQL命令行后执行:
UPDATE user SET host = '%' WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;
⚠️ 注意:执行此操作后,root用户将允许从任意IP连接,若未同步配置防火墙白名单,极易被暴力扫描利用。
开放3306端口
第一步:关闭Windows Defender防火墙临时测试
Win+R → 输入control firewall.cpl → 左侧“启用或关闭Windows Defender防火墙” → 选择“关闭” → 测试能否连通。若此时可连,说明问题出在防火墙规则上。
第二步:添加专用入站规则(安全且持久)
① 打开“高级安全Windows Defender防火墙” → 左侧“入站规则” → 右侧“新建规则” → 选择“端口” → 下一步 → TCP → 特定本地端口填3306 → 下一步 → 选择“允许连接” → 下一步 → 勾选“域”“专用”“公用” → 下一步 → 规则名称填MySQL-Remote-Access → 完成。
② 若服务器处于局域网路由器后,还需登录路由器后台,将3306端口映射到该电脑的局域网IP(如192.168.1.100),否则外网设备仍无法触及。
第三步:验证端口是否真正开放
在另一台局域网电脑上执行:telnet 192.168.1.100 3306。若黑窗闪退无提示,说明连接成功;若提示“无法打开到主机的连接”,说明端口未通或MySQL未监听0.0.0.0。



















