mysql 大量unauthenticated user (转)

          前几天,公司服务器做调整,然后mysql就连不上了....time out 无语了,各种能想的办法都想了 ,主要是我mysql方面也不是很懂,当时只是推测是mysql这边出了,问题,具体原因不明,然后领导出马,搞定....

           如下为问题的描述及解决方案:

            

问题描述:执行mysql命令show processlist;查看进程的时候出现大量unauthenticated user,大致如下:

|592|unauthenticated user|192.168.3.20:35320|NULL|Connect| |login|NULL|
|593|unauthenticated user|192.168.3.20:35321|NULL|Connect| |login|NULL|
|594|unauthenticated user|192.168.3.20:35322|NULL|Connect| |login|NULL|


原因:
这个是官方的一个特殊设定,亦可称呼他为mysql的bug,不管连结的的方式是经过hosts或是IP的模式,
他都会对DNS做反查。mysql会尝试去反查IP->DNS,由于反查解析过慢,无法应付快速多量的查询。

这个主要是因为DNS不稳定导致的。
如果做了网络隔离,MySQL处于一个相对安全的网络环境,那么开启skip-name-resolve选项将会最大程度避免这个问题。

解决办法:
一:启动MySQL的时候,添加 --skip-name-resolve选项,禁止域名解析,问题解决。

示例:
/usr/local/mysql-5.1.36/bin/mysqladmin -u root -p shutdown
/usr/local/mysql-5.1.36/bin/mysqld_safe --skip-name-resolve &


二:在my.cnf的[mysqld]一节中增加skip-name-resolve

三:在/etc/hosts文件中添加对应的host记录

转载于:https://my.oschina.net/7shell/blog/105850

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值