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 的運作情況,如有問題將會持續的稟報及解決

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值