如何从Windows系统访问CentOS上的PhpMyAdmin及其中数据库?
从Windows(含Win8)访问CentOS上的PhpMyAdmin及数据库的解决方案
刚好之前帮同事处理过一模一样的需求,从Windows(包括Win8)访问CentOS上的PhpMyAdmin其实没那么复杂,一步步来就能搞定,我把步骤拆解给你:
一、先确认CentOS端的基础服务正常
这一步是前提,先确保PhpMyAdmin本身在CentOS上能正常运行:
- 检查Web服务(Apache或Nginx)状态:执行
systemctl status httpd(Apache)或者systemctl status nginx,确保输出是active(running) - 本地测试PhpMyAdmin:在CentOS终端执行
curl http://localhost/phpmyadmin,如果能返回登录页的HTML代码,说明PhpMyAdmin配置没问题 - 确认数据库服务运行:执行
systemctl status mariadb或systemctl status mysqld,确保数据库服务处于运行状态,并且你能在CentOS本地登录PhpMyAdmin操作数据库
二、开放CentOS的防火墙端口
CentOS默认的firewalld会拦截外部访问,必须开放Web服务的端口:
- 开放80端口(HTTP):
firewall-cmd --add-port=80/tcp --permanent - 如果用了HTTPS,还要开放443端口:
firewall-cmd --add-port=443/tcp --permanent - 重载防火墙规则生效:
firewall-cmd --reload - 可以用
firewall-cmd --list-ports确认端口已经成功开放
另外,如果你的CentOS开了SELinux,可能需要允许Web服务连接数据库:
- 执行
setsebool -P httpd_can_network_connect_db on,这个命令是永久生效的,不用每次重启都设置
三、确保Windows和CentOS网络连通
- 先确认两台机器在同一局域网(或者通过公网可路由,不过局域网是最常见的场景)
- 在Windows的CMD里执行
ping [CentOS的IP地址],能ping通说明网络没问题;ping不通的话先排查:比如CentOS是否禁止了ICMP请求,或者路由器有没有隔离设备 - 获取CentOS的IP地址:在CentOS终端执行
ip addr show,找到对应网卡的inet字段(比如192.168.1.100)
四、Windows端访问PhpMyAdmin的操作
- 打开Windows上的浏览器(Win8自带的IE或者第三方浏览器比如Chrome、Edge都可以,IE可能需要加兼容性视图,后面会说)
- 在地址栏输入
http://[CentOS的IP]/phpmyadmin,比如http://192.168.1.100/phpmyadmin - 输入你在PhpMyAdmin设置的登录账号和密码,就能正常访问和操作数据库了
五、常见问题排查
- 浏览器无法打开页面:检查CentOS的Web服务是否重启过,防火墙端口是否开放,两台机器的网络是否连通
- PhpMyAdmin提示访问被拒绝:可能是Web服务的配置限制了访问来源,比如Apache的
phpMyAdmin.conf里只允许localhost访问:- 找到配置文件路径(比如
/etc/httpd/conf.d/phpMyAdmin.conf) - 找到类似
Require ip 127.0.0.1的行,改成你的局域网网段(比如Require ip 192.168.1.0/24),测试环境也可以临时改成Require all granted(生产环境不建议这么做) - 重启Web服务:
systemctl restart httpd
- 找到配置文件路径(比如
- Win8下IE浏览器兼容性问题:如果用IE打开出现排版错乱或者无法登录,试试把PhpMyAdmin的URL加入IE的兼容性视图,或者直接换用Chrome/Firefox这类第三方浏览器
内容的提问来源于stack exchange,提问作者pasha ahmed
相关产品推荐
相关产品推荐

