解决MySQL出现大量unauthenticated user的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhou920786312/article/details/79979156

原因
不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会“假死”。
解决方法1
1 打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行:
skip-name-resolve
解决方法2

linux 登录mysql
cd /usr/local/mysql/bin

./mysqladmin -uroot -p shutdown
root
执行
./mysqld_safe --skip-name-resolve --user=mysql&

MySQL数据库出现unauthenticated user 和Lock的问题,求救!

11-18

1台Sun 220Web(1G RAM)服务器和1台Sun220 MySQL数据库服务器放在同一网段,另外还rn有一台Dell web(2G RAM)服务器,放在另一网段。rn 在平时的人少的时候,我通过Show Processlist命令察看数据库的状况,可以看到如下情况:rn rn| 527224 | unauthenticated user | 202.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL |rn| 527226 | unauthenticated user | 202.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL |rn| 527227 | unauthenticated user | 202.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL |rn| 527231 | unauthenticated user | 202.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL |rn| 527233 | unauthenticated user | 202.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL |rn| 527235 | unauthenticated user | 202.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL |rn+--------+--------------------+-------------------+--------+---------+------+-------+------------------+rn33 rows in set (0.00 sec)rn全是Dell web server连接数据库的进程。等到网络繁忙的时候,情况就更糟了。我把Max_connection设为300rn的时候,我通过Show Processlist命令察看数据库的状况。可以看见unauthenticated user 的进程数一步步上升,rn一直达到301个全是unauthenticated user 用户,再过一段时间就会出现如下情况:rn| 4147935 | data | 202.xxx.xxx.xxx | database | Query | 466 | Locked | select * from Search ....rn| 4147936 | data | 202.xxx.xxx.xxx | database | Query | 466 | Locked | select * from Search ....rn| 4147937 | data | 202.xxx.xxx.xxx | database | Query | 466 | Locked | select * from Search ....rn+--------+--------------------+-------------------+--------+---------+------+-------+------------------+rn 301 rows in set (0.00 sec) rn 300个进程全被lock了。我退出MySQL,使用TOP命令察看系统情况的时候发现系统的CPU使用率高到50%以上,rn 有时甚至达到90%。于是我把Max_connection设为500,并继续监控数据库服务器。发现设置为500以后,几乎rn 没有出现过Locked的现象了,但是unauthenticated user 用户过多的情况一直都还存在。唯一欣慰的是,当Threadrn 数达到480左右的时候,使用TOP命令察看系统情况,CPU使用率都一直在5%-6%左右,连接操作数据库也很流畅。rn 根据上面的现象,我觉得unauthenticated user 用户过多的情况是因为数据库服务器和Dell web server不在同一rn 网段所照成。所以这个问题只出现在Dell web server,而那台sun web server却一切正常。而之所以出现Lock Tablern 的原因是不是由于数据库的连接人数到了上限以后,还不停的有大量的新的进程不断的试图去和数据库建立连接,这些rn 进程消耗了Mysql数据库的大量的缓存和cpu,才导致了Mysql数据库几乎陷于瘫痪,出现Lock Table的现象。rn 我的分析对不对呢?还需要做些什么测试此能确定问题的原因所在呢?该怎么处理才能解决这2个问题呢?请大家帮rn忙出出主意吧,非常感谢!

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试