MySQL資料庫常見錯誤問題解答

來源:互聯網
上載者:User

18.2.1 MySQL server has gone away錯誤

本小節也涉及有關Lost connection to server during query的錯誤。

對MySQL server has gone away錯誤最常見的原因是伺服器逾時了並且關閉了串連。預設地,如果沒有事情發生,伺服器在 8個小時後關閉串連。你可在啟動mysqld時通過設定wait_timeout變數改變時間限制。

你可以通過執行mysqladmin version並且檢驗正常啟動並執行時間來檢查MySQL還沒死掉。

如果你有一個指令碼,你只須再發出查詢讓客護進行一次自動的重新串連。

在這種請下,你通常能獲得下列錯誤碼(你得到的是OS相關的):

CR_SERVER_GONE_ERROR 客戶不能發送一個問題給伺服器。

CR_SERVER_LOST 當寫伺服器時,客戶沒有出錯,但是它沒有得到對問題的一個完整的答案(或任何答案)。

如果你向伺服器發送不正確的或太大的查詢,你也可能得到這些錯誤。如果mysqld得到一個太大或不正常的包,它認為客戶出錯了並關閉串連。如果你需要較大的查詢(例如,如果你正在處理較大的BLOB列),你可以使用-O max_allowed_packet=#選項(預設1M)啟動mysqld以增加查詢限制。多餘的記憶體按需分配,這樣mysqld只有在你發出較大差詢時或mysqld必須返回較大的結果行時,才使用更多的記憶體!

18.2.2 Can’t connect to [local] MySQL server錯誤

一個MySQL客戶可以兩種不同的方式串連mysqld伺服器:Unix通訊端,它通過在檔案系統中的一個檔案(預設“/tmp/mysqld.sock”)進行串連;或TCP/IP,它通過一個連接埠號碼串連。Unix通訊端比TCP/IP更快,但是只有用在串連同一台電腦上的伺服器。如果你不指定主機名稱或如果你指定特殊的主機名稱localhost,使用Unix通訊端。

錯誤(2002)Can’t connect to ...通常意味著沒有一個MySQL伺服器運行在系統上或當試圖串連mysqld伺服器時,你正在使用一個錯誤的通訊端檔案或TCP/IP連接埠。

由檢查(使用ps)在你的伺服器上有一個名為mysqld的進程啟動!如果沒有任何mysqld過程,你應該啟動一個。見4.15.2 啟動MySQL伺服器的問題。

如果一個mysqld過程正在運行,你可以通過嘗試這些不同的串連來檢查伺服器(當然,連接埠號碼和通訊端路徑名可能在你的安裝中是不同的):

shell> mysqladmin version
shell> mysqladmin variables
shell> mysqladmin -h `hostname` version variables
shell> mysqladmin -h `hostname` --port=3306 version
shell> mysqladmin -h ’ip for your host’ version
shell> mysqladmin --socket=/tmp/mysql.sock version

注意hostname命令使用反引號“`”而非正引號“’”;這些導致hostname輸出(即,當前主機名稱)被代替進mysqladmin命令中。

這是可能造成Can’t connect to local MySQL server錯誤的一些原因:

mysqld不在運行。

你正在使用MIT-pthreads的一個系統上運行。如果正在運行在一個沒有原生線程的系統上,mysqld使用 MIT-pthreads 軟體包。見4.2 由MySQL支援的作業系統。然而,MIT-pthreads不支援Unix通訊端,因此當與伺服器串連時,在這樣一個系統上,你總是必須明確地指定主機名稱。試試使用這個命令檢查到伺服器的串連:

shell> mysqladmin -h `hostname` version

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.