网站MySQL如何连接虚拟机数据库:网络配置要点?
将网站连接到运行在虚拟机中的MySQL数据库,需确保网络可达、端口开放、用户权限正确配置,否则会遇到连接超时或拒绝访问的问题。
核心问题分析
典型场景:- 主机程序连接虚拟机数据库失败
- 提示“Connection refused”或“Access denied”
- 虚拟机IP地址未配置为桥接或NAT模式
- MySQL绑定监听地址为127.0.0.1,限制外部访问
- 未授予远程访问权限
- 防火墙或SELinux阻止3306端口通信
解决方案对比
方法 | 适用情况 | 注意事项 |
---|---|---|
修改bind-address | 允许外部访问MySQL | 描红提示避免直接设为0.0.0.0 |
开放3306端口 | 防火墙/NAT规则配置 | 仅允许信任IP访问更安全 |
GRANT授权 | 创建允许远程登录的账号 | 避免使用root账户远程连接 |
操作建议
- 在MySQL配置文件(my.cnf)中注释掉
bind-address = 127.0.0.1
或改为虚拟机内网IP - 执行
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'主机IP' IDENTIFIED BY '密码';
授权远程访问 - 在虚拟机防火墙中开放3306端口,并限制访问IP范围
- 测试连接:
telnet 虚拟机IP 3306
或使用Navicat等客户端验证连通性
更新时间:2025-06-03 22:04:42