问题描述
连接RDS for MySQL或MariaDB TX实例时,提示以下其中一种错误信息:
- ERROR 2005 (HY000): Unknown MySQL server host ‘xxxxxxx’ (110或11004)
- SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
- Name or service not known
问题原因
DNS服务器无法解析地址。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
-
检查输入的RDS连接地址(字符串)是否正确。以下为可能的出错原因:
-
地址输入错误。如下图所示,正确的格式为rm-XXX.XXX.rds.aliyuncs.com。
-
使用外网地址,但是外网地址已经被手动释放。
-
程序允许输入的地址长度有限,地址被程序截断。
-
-
如果RDS连接地址输入正确但是仍然提示上述错误信息,那么把DNS服务器地址修改为阿里云的DNS服务器地址。
-
如果是通过内网(经典网络)访问,改为10.143.22.116和10.143.22.118。
-
如果是通过内网(VPC)访问,改为100.100.2.136和100.100.2.138。
- 如果是通过公网访问,改为223.5.5.5和223.6.6.6。
-
更多信息
通过ping连接地址(字符串),就可以查看到RDS示例的当前IP地址,但是不建议您使用IP地址,因为IP地址会由于迁移、主备切换等任务而变化。建议您使用连接字符串,因为连接字符串始终保持不变。
适用于
- 云数据库RDS MySQL版
- 云数据库RDS MariaDB TX版