问题描述
连接RDS for MySQL或MariaDB实例时,提示以下其中一种错误信息:
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。
使用外网地址,但是外网地址已经被手动释放。
程序允许输入的地址长度有限,地址被程序截断。
如果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版