问题描述
连接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服务器无法解析地址。
解决方案
- 检查输入的RDS连接地址(字符串)是否正确。以下为可能的出错原因:
- 地址输入错误。如下图所示,正确的格式为rm-XXX.XXX.rds.aliyuncs.com。
- 使用外网地址,但是外网地址已经被手动释放。
- 程序允许输入的地址长度有限,地址被程序截断。
- 地址输入错误。如下图所示,正确的格式为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地址会由于迁移、主备切换等任务而变化。建议您使用连接字符串,因为连接字符串始终保持不变。