本文的起因是某天在用 freshrss 的时候突然报错
Access to database is denied for *** : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for ***.sql.tencentcdb.com failed: Try again
其中的关键信息我使用 * 进行了替代
就提示消息的显示,是指数据库连接不上,但是我也有在用腾讯云的其他数据库服务,并没有出问题。
接下来就是逐一进行排除:
我在本地手动连接了 freshrss 的数据库,成功!由此判断数据库本身没有问题。
既然数据库没有问题,那就是服务器的问题,开始检查网络连接,一切正常,除了这个数据库,其他的不受影响。
然后我在想,是不是网络协议栈中的某一层出错了。
试着用
nslookup
看一下域名信息,查不到 ╰( ̄ω ̄o) ,好了找到病灶了,开始动手术。先看其他域名是否正常,使用
nslookup baidu.com
是成功解析的,那估计就是现在配置的域名服务器没有收录这个域名结果一看,原本的就配置了个本地服务器。。。,于是我们来加上阿里的公共 DNS 解析服务器