Lost connection to MySQL server at 'reading authorization packet', system error: 0
1.進入Mysqld
如果已經(jīng)設(shè)置Mysql/Bin環(huán)境變量,直接在CMD里輸入命令,如果沒有設(shè)置Mysql環(huán)境變量,去Mysql安裝目錄的Bin文件夾里運行
F:\AppServ\MySQL\bin\mysql.exe -u root -p
其中root是用戶名,然后就可以進入Mysql命令行環(huán)境了
2.以后的每一句Mysql命令,每次都要以分號;為結(jié)束標識,而不是以回車。
3.注意,,每次都需要重啟Mysql才可以使設(shè)置生效?。?/strong>
當(dāng)然了,如果你直接在Mysql安裝目錄的 my.ini加上設(shè)置值,則可以在Mysql啟動時加載設(shè)置。比如connect_timeout = 120
然后是需要更改什么參數(shù)解決這個問題
當(dāng)WEB服務(wù)器負載高的時候,經(jīng)常會出現(xiàn)這種錯誤,
原因:
MySQL默認connect_timeout是5秒,超過了這個時間MySQL的server端就會返回“Bad handshake”。
解決辦法:
1.大多數(shù)時候設(shè)置"set global connect_timeout=60;"是可以解決問題的;
我們可以通過執(zhí)行“SHOWSTATUS LIKE 'aborted%'”,可以觀察到 Variable_name Value
Aborted_clients 6
Aborted_connects 15010
覺得是否要增加connect_timeout的時間,"Aborted_connects"將會隨著服務(wù)端放棄客戶端初始連接而增加。如果"Aborted_connects"很大,并且不斷增加,就需要增加"connect_timeout".
2.在MySQL的配置文件中[mysqld]添加"skip-name-resolve",減少域名解析的時間
3.部署服務(wù)器端的網(wǎng)絡(luò)要好,至少大于100Mbps/s
4.如果是在調(diào)用mysql_query的時候出現(xiàn)的問題,那就需要把"net_read_timeout"的時間調(diào)成30秒,或者60秒,或者更大的值
5.如果還不能解決問題,那估計是你的SQL語句中含有BLOB這種大類型,我們就需要增加"max_allowed_packet"的值了
相關(guān)文章
MySQL關(guān)于ERROR 1290 (HY000)報錯解決方法
在本篇文章里小編給大家整理的是關(guān)于MySQL關(guān)于ERROR 1290 (HY000)報錯的解決方法,有興趣的朋友們可以參考下。2019-09-09
超詳細mysql left join,right join,inner join用法分析
比較詳細的mysql的幾種連接功能分析,只要你看完就能學(xué)會的好東西2008-08-08
解讀mysql主從配置及其原理分析(Master-Slave)
在windows下配置的,后面會在Linux下配置進行測試,需要配置mysql數(shù)據(jù)庫同步的朋友可以參考下。2011-05-05
淺談mysql雙層not exists查詢執(zhí)行流程
本文主要介紹了淺談mysql雙層not?exists查詢執(zhí)行流程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06

