show processlist 出现很多

unauthenticated user | connecting host | NULL | Connect | 179 | login

出现这种情况很大可能是因为DNS导致的,可以通过跳过dns解析skip-name-resolve来解决

进一步查看日志

也有可能是back_log值打满了。

back_log:如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。将会报:unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时back_log值不能超过TCP/IP连接的侦听队列的大小。

查看错误日志

[ERROR] Threadpool could not create additional thread to handle queries, because the number of allowed threads was reached. Increasing 'thread_pool_max_threads' parameter can help in this situation.

线程池满了,连接池也打满。将unauthenticated user杀掉

for id in `mysqladmin -uroot -p"pass" processlist|grep -i "unauthenticated"|awk '{print $2}'`
do
        mysqladmin -uroot -p"pass" kill ${id}
done
或
mysql -uroot -p -S /tmp/mysql.sock -e "select * from information_schema.processlist where USER  in('unauthenticated user')  and command !='sleep' and time >100" | awk '{print "kill " $1 ";"}'>/tmp/a.txt
source  /tmp/a.txt;   

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐