问题背景
应用报MySQL数据库无法连接,经排查发现是连接数满了。通过max_connections
参数将连接数上限调大到1000后,数据库开始大量报unauthenticated user错误。
: 343942 : unauthenticated user : 192.168.0.4:49607 : : Connect : : login :
: 343943 : unauthenticated user : 192.168.0.4:49608 : : Connect : : login :
...
...
问题分析
在网上查了一下,可能是由于数据库未配置skip-name-resolve
参数,MySQL在验证应用连接时会解析主机名,如果连接太多且没有及时释放,就会导致MySQL“假死”,从而出现上面的情况。
MySQL官方对skip-name-resolve
参数的描述如下:
Whether to resolve host names when checking client connections. If this variable is OFF, mysqld resolves host names when checking client connecti