我正在尝试连接到"1and1"上的远程数据库,并通过Php mysqli收到此错误:
php_network_getaddresses: getaddrinfo failed: Name or service not known
也尝试通过ssh连接,我有这个错误:
ssh: Could not resolve hostname db661101787.db.1and1.com: Name or service not known
我尝试在 shell 中使用 DIG 命令,我收到的响应是:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> db661101787.db.1and1.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 15841
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;db661101787.db.1and1.com. IN A
;; AUTHORITY SECTION:
1and1.com. 329 IN SOA rns.ui-dns.de. dnsadmin.1und1.de. 2013087505 10800 3600 604800 600
;; Query time: 61 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Apr 03 22:47:32 CEST 2017
;; MSG SIZE rcvd: 117
我真的不知道哪个可能是问题所在。
该主机名不存在,至少在公共互联网上不存在。您的提供商可能具有提供答案的特殊内部 DNS 服务器,Amazon EC2 以这种方式工作,因此如果是这种情况,您必须使用这些服务器。
如果您尝试从提供程序的本地网络外部访问此数据库服务器,则可能无法正常工作。最好的做法是永远不要将MySQL暴露给公共互联网,风险太高了。