程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql執行show processlist出現”unauthenticated user”的解決

mysql執行show processlist出現”unauthenticated user”的解決

編輯:MySQL綜合教程

一台unibilling機器前幾天突然負載變重. 在top中發現cpu被大量占用. agi程序運行的很慢,並出現僵屍進程. 其實當時只有50個左右的並發呼叫. 遠遠達不到正常水准. 重新啟動機器問題也沒得到解決. 非常奇怪.
 
考慮到在top中看到mysqld占用的資源最多,就進入mysql控制台,運行show processlist命令, 發現某進程的信息很特殊:
 
User "unauthenticated user"
Command "connect"
State "reading from net"難道是黑客從internet上攻擊我的機器? 顯然不是, 因為Host那一列顯示的是”localhost”.
 
沒辦法. 在google上一查找,竟發現若干人遇到過該問題. 也不能算是mysql的bug,因為通過更改配置文件/etc/my.cnf即可解決.
 
具體地講,在mysqld那一欄中添加skip-name-resolve
 
[mysqld]
 
skip-name-resolve
 
注意, skip-name-resolve可以禁用dns解析,但是,這樣不能在mysql的授權表中使用主機名了,只能使用IP. 以前創建mysql用戶是若用的是localhost現在則需要用127.0.0.1來代替在grant語句中執行一下添加該用戶.
 
然後, 重新啟動mysqld.
作者OurMySQL

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved