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"的值了
當WEB服務器負載高的時候,經常會出現這種錯誤,
原因:
MySQL默認connect_timeout是5秒,超過了這個時間MySQL的server端就會返回“Bad handshake”。
解決辦法:
1.大多數時候設置"set global connect_timeout=60"是可以解決問題的;
我們可以通過執行“SHOW STATUS 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"的值了
在服務那裡開啟mysql的服務,我的電腦--右鍵管理--服務和應用程序--找mysql---右鍵屬性--啟動
你在命令行能不能進去?不能進去就是你密碼錯了
無論通過什麼途徑遠程訪問都出現錯誤可以認為是系統有防火牆之類的限制,解決方法是在 my.cnf 裡面的 [mysqld] 段增加一個啟動參數
skip-name-resolve