登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

li.angshan 的博客

关注数据计算领域

 
 
 

日志

 
 
 
 

Mysql 大量 unauthenticated user  

2010-09-06 15:17:57|  分类: mysql 管理 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Mysql 大量 unauthenticated user
Friday, June 03, 2005, 12:29 - Apache & PHP & Mysql
近日在资料库方面,发现异常的连线状况
该狀況在 mysql 下指令 Show Processlist; 可以看到问题
该問題如下;

: 3436942 : unauthenticated user : 192.168.0.52:49607 : : Connect : : login :
: 3436943 : unauthenticated user : 192.168.0.52:49608 : : Connect : : login :

会有非常多的 unauthenticated user 尝试做登入使用 mysql 的情況
当这情况在无限制的发生时,就会造成系统的停顿

在经过多方测试,以及官方的回應下
发现这属于官方一个系统上的特殊设定,亦可称呼他为 mysql 的 bug
不管连接的方式是经过 hosts 或是 IP 的模式,他都会对 DNS 做反查
mysqld 会尝试去反查 IP -> DNS ,由于反查解析过慢,无法应对快速多量的查詢 (此刻连接数被占满)
反查是上层 ISP 所掌控,并不是我们可以解决及要求的

在知道问题的症结点后,就有了相对应的解决方法
其方法分两个步骤,第一是开启 Mysqld 的时候加入特定的参数启动
第二就是修改 mysql 的连接设定等,如下所示

启动参数; with --skip-name-resolve =>这样就可以关闭反查动作

更改 my.cnf,加强以下设置:
[mysqld]
datadir=/services/mysql/
socket=/tmp/mysql.sock
port=3306
set-variable = key_buffer_size=64M
set-variable = max_connections=1024
set-variable = interactive_timeout=30
set-variable = wait_timeout=30
set-variable = join_buffer_size=10M
set-variable = long_query_time=20
set-variable = table_cache=256
set-variable = sort_buffer=4M
set-variable = record_buffer=1M
set-variable = back_log=500

[mysqld.server]
user=mysql
basedir=/usr/local

经过以上设置和重新启动后,直到现在还没有看到一个 unauthenticated user 的情况发生
近日还是会持续的观察 Mysql 的运作情况,如有问题将会持续的禀报及解决


处理:

/usr/local/libexec/mysqld --basedir=/usr/local/ --datadir=/usr/local/var/ --user=mysql --pid-file=/usr/local/var//test.pid --skip-locking --port=3306 --socket=/tmp/mysql.sock --skip-name-resolve


/etc/my.cnf中加入skip-name-resolve

service mysqld restart
  评论这张
 
阅读(243)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018