网络与端口配置
实现远程连接需确保虚拟主机与数据库服务器处于同一网络环境。通过修改MySQL配置文件将bind-address
设为0.0.0.0
以允许所有IP访问。建议采用桥接模式网络配置,使宿主机与虚拟机处于同一子网。
- 修改MySQL配置文件
mysqld.cnf
- 重启数据库服务:
sudo service mysql restart
- 确认数据库监听端口(默认3306)开放
数据库权限设置
需创建具备远程访问权限的数据库用户并授权。通过SQL命令创建用户时需指定'username'@'%'
格式,使用GRANT
语句分配权限后执行FLUSH PRIVILEGES
。
- 创建用户示例:
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password'
- 授权语句:
GRANT ALL ON *.* TO 'remote_user'@'%'
防火墙与安全策略
需在虚拟主机和数据库服务器防火墙中放行数据库端口。云服务器需在安全组添加入站规则。建议采用IP白名单机制,仅允许特定IP访问数据库。
- Linux系统:使用
iptables
或ufw
开放端口 - Windows系统:配置入站防火墙规则
连接测试与故障排查
使用telnet
命令测试端口连通性:telnet 服务器IP 3306
。若连接失败,建议按以下顺序排查:
- 检查数据库服务运行状态
- 验证网络路由是否可达
- 查看数据库错误日志
/var/log/mysql/error.log
解决远程连接问题需从网络层、权限层、安全层多维度排查。建议优先使用SSH隧道等加密连接方式,避免直接暴露数据库端口到公网。定期审计数据库访问日志可有效提升安全性。