Lost connection to MySQL server at 'reading authorization packet', system error: 0_Mysql

來源:互聯網
上載者:User

1.進入Mysqld

如果已經設定Mysql/Bin環境變數,直接在CMD裡輸入命令,如果沒有設定Mysql環境變數,去Mysql安裝目錄的Bin檔案夾裡運行

F:\AppServ\MySQL\bin\mysql.exe -u root -p

其中root是使用者名稱,然後就可以進入Mysql命令列環境了

2.以後的每一句Mysql命令,每次都要以分號;為結束標識,而不是以斷行符號。

3.注意,,每次都需要重啟Mysql才可以使設定生效!!

當然了,如果你直接在Mysql安裝目錄的 my.ini加上設定值,則可以在Mysql啟動時載入設定。比如connect_timeout = 120

然後是需要更改什麼參數解決這個問題

當WEB伺服器負載高的時候,經常會出現這種錯誤,

原因:

MySQL預設connect_timeout是5秒,超過了這個時間MySQL的server端就會返回“Bad handshake”。

解決辦法:

1.大多數時候設定"set global connect_timeout=60;"是可以解決問題的;

我們可以通過執行“SHOWSTATUS LIKE 'aborted%'”,可以觀察到 Variable_name Value
Aborted_clients 6
Aborted_connects 15010

覺得是否要增加connect_timeout的時間,"Aborted_connects"將會隨著服務端放棄用戶端初始串連而增加。如果"Aborted_connects"很大,並且不斷增加,就需要增加"connect_timeout".

2.在MySQL的設定檔中[mysqld]添加"skip-name-resolve",減少網域名稱解析的時間
3.部署伺服器端的網路要好,至少大於100Mbps/s
4.如果是在調用mysql_query的時候出現的問題,那就需要把"net_read_timeout"的時間調成30秒,或者60秒,或者更大的值
5.如果還不能解決問題,那估計是你的SQL語句中含有BLOB這種大類型,我們就需要增加"max_allowed_packet"的值了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.