MySQL的遠程連接出現"Lost connection to MySQL Server during query"
安裝完了RH 8.0用自帶的mysql以後直接在本機上可以正常使用MySQL登陸,用
MySQL -u root -p
添加了一些用戶,如* beginner pass
即beginner可以從任何地方通過密碼可以訪問這台Mysql服務器(假設我的mysql服務器為MySQL.test.com)
但當我運行
mysql -h MySQL.test.com -u beginner -p
就提示:
ERROR 2013: Lost connection to MySQL Server during query
其實我只要輸入
mysql -h MySQL.test.com時就出現上面的提示,也就是說它根本還沒有到驗證密碼那一步。
技巧主題 根目錄-=>系統服務-=>數據服務
技巧作者 nixe0n 發表時間 2002-11-29 23:23:51
這個問題是由於glibc的一個bug造成的。
在glibc某些版本中,gethostbyaddr函數(確切地說是_nss_dns_gethostbyaddr_r)存在緩沖區溢出問題,在處理大數據時會造成SEGMENT FAULT。
在處理遠程連接時,MySQLd會調用ip_to_hostname()函數,再由這個函數調用gethostbyaddr函數,最後系統在執行nss_dns_gethostbyaddr_r函數處崩潰。因此,會出現上述情況。
解決問題的辦法是升級glibc。