一、网络连接排查
当云服务器无法访问本地数据库时,首先需确认网络链路是否畅通。建议按以下步骤排查:
- 使用
ping
命令测试云服务器与本地数据库服务器的连通性; - 通过
telnet [IP] [端口]
验证数据库端口可达性,如MySQL默认3306端口; - 检查本地网络是否限制云服务器IP的访问权限;
- 使用
traceroute
分析路由节点是否存在异常。
二、防火墙与安全组检查
防火墙配置错误是导致连接失败的常见原因,需同时检查两端设置:
- 本地防火墙:开放数据库端口入站规则(Linux使用iptables,Windows通过高级安全防火墙);
- 云平台安全组:在控制台添加允许云服务器IP访问的规则;
- 数据库服务器本地安全策略:验证TCP/IP筛选器设置。
三、数据库权限配置验证
网络畅通后需检查数据库用户权限配置:
- 登录数据库执行
SELECT host,user FROM mysql.user
,确认用户允许远程访问; - 通过
GRANT
语句授予远程访问权限:
GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'password'
; - 修改MySQL配置文件
my.cnf
,注释bind-address=127.0.0.1
; - 重启数据库服务使配置生效。
四、常见错误案例分析
典型故障场景及解决方案:
错误提示 | 解决方案 |
---|---|
Host ‘xxx’ is not allowed to connect | 修改用户host为%并刷新权限 |
Connection timed out | 检查防火墙和路由设置 |
Access denied for user | 重置密码或授予权限 |
排查应遵循网络层→防火墙→权限验证的递进流程。建议建立包含端口检测、路由追踪、权限审计的标准化检查清单,同时配置云平台监控告警系统实现主动预警。