亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

【51CTO.com快譯】如果未能對 MySQL 8 進(jìn)行恰當(dāng)?shù)呐渲茫堑赡苡龅綗o法順利訪問、或調(diào)用 MySQL 的窘境,而且還可能給真實的應(yīng)用生產(chǎn)環(huán)境帶來巨大的影響。本文列舉了十種 MySQL 常見的錯誤及其解決方案。

 

10種常見的MySQL錯誤,你可中招?

 

 

圖片來自 Pexels

MySQL 8 是當(dāng)前流行的數(shù)據(jù)庫引擎之一。在得到正確配置的情況下,它能夠以相對較低成本的方式,幫助成千上萬的數(shù)據(jù)庫連接到對應(yīng)的服務(wù)器上。

另外,由于它是一種在業(yè)界被使用多年的常用數(shù)據(jù)庫工具,因此您不太可能會遇到某個服務(wù)器無法識別它的情況。

可以說,您可以將其配置到任何自己希望處理和存儲數(shù)據(jù)的應(yīng)用場景之中。

當(dāng)然,MySQL 8 也并非是完全“開箱即用”的,如果您未能對其進(jìn)行恰當(dāng)?shù)呐渲茫堑珪龅綗o法順利訪問、或正確調(diào)用 MySQL 的窘境,而且還可能給真實的應(yīng)用生產(chǎn)環(huán)境帶來巨大的影響。

因此,在您碰到某種需要修復(fù)的 MySQL 錯誤,決定要在線搜索解決方案之前,請和我一起來看看如下十種 MySQL 常見錯誤,您是否也曾犯過呢?

錯誤 1:拒絕訪問(Denied Access)

在我們實現(xiàn)對數(shù)據(jù)的任何選擇(SELECT)、插入(INSERT)、更新(UPDATE)、以及刪除(DELETE)之前,我們都需要審查在服務(wù)器上,客戶端程序所使用的數(shù)據(jù)庫帳號。

只有獲得了連接許可、以及具有對 MySQL 服務(wù)器進(jìn)行各種操作的相關(guān)權(quán)限,才不會出現(xiàn)如下圖所示的“拒絕訪問”之類錯誤。

 

10種常見的MySQL錯誤,你可中招?

 

 

錯誤 2:密碼為空或提示輸入

如果用戶端程序被配置為帶有 -p 的選項,而在啟動時卻并未設(shè)置相應(yīng)的密碼值,那么 MySQL 客戶端就會出現(xiàn)如下的提示,并會被要求輸入密碼:

 

10種常見的MySQL錯誤,你可中招?

 

 

> MySQL -u user_name -p 
Enter password: 

顯然,這是一個系統(tǒng)庫層面上的問題,并非 MySQL 本身的錯誤。簡單快速的解決方案是:直接將 MySQL 的密碼更改為八位或者更短的字符。

當(dāng)然,您也可以將密碼存儲到某個備選文件中,以方便讀取。

錯誤 3:MySQL 失去服務(wù)器連接

此類情況一般發(fā)生在網(wǎng)絡(luò)環(huán)境不佳的遠(yuǎn)程連接時。我們一般可以通過打開命令行,手動嘗試連接的方式,來檢驗當(dāng)前的狀況。

除了對網(wǎng)絡(luò)連接狀態(tài)進(jìn)行基本排查之外,您也可以嘗試著通過修改 MySQL 的最大連接數(shù),來診斷是否是資源受限的問題。

錯誤 4:主機名已被阻止

如果 MySQL 服務(wù)器收到由某個主機的應(yīng)用程序所產(chǎn)生的過多連接數(shù),那么該主機就會被數(shù)據(jù)庫服務(wù)器端所阻斷,進(jìn)而產(chǎn)生如下的錯誤:

 

10種常見的MySQL錯誤,你可中招?

 

 

如上圖所示,一旦數(shù)據(jù)庫接收到太多帶有“max_connect_errors”的失敗請求,MySQL 就會認(rèn)為前端出現(xiàn)了錯誤,并立即阻斷主機的進(jìn)一步連接,直至有 FILHES HOST 語句或是 mysqladmin flush-host 命令的發(fā)出。

可見,對于由于“host_name”被阻斷的連接錯誤,我們需要通過“mysqladmin flush-hosts”,來解除此類阻斷。

在服務(wù)器啟動之前,您可以通過設(shè)置如下最大值,來處置連接中出現(xiàn)的錯誤:

> mysqld_safe --max_connect_errors=10000 

當(dāng)然,當(dāng)服務(wù)器正在運行的時候,您也可以按照如下方式進(jìn)行動態(tài)調(diào)整:

mysql> SET GLOBAL max_connect_errors=10000; 

錯誤 5:內(nèi)存不足

如果 MySQL 的內(nèi)存不足,它將無法存儲來自 MySQL 客戶端的所有查詢請求,而且會在服務(wù)器端拋出如下的錯誤:

 

10種常見的MySQL錯誤,你可中招?

 

 

mysql: Out of memory at line 42, 'malloc.c' 
mysql: needed 8136 bytes (8k), memory in use: 12481367 bytes (12189k) 
ERROR 2008: MySQL client ran out of memory 

為了解決此類問題,我們必須首先檢查查詢語句本身是否正確。例如:我們是否確實期望通過多行結(jié)果來回應(yīng)某個查詢請求?

如果并非如此,則需要予以糾正、或是重新調(diào)整查詢的方式。如果請求本是正確的、且并不需要校正的話,我們可以選擇為 MySQL 添加一個 –quick 的選項。

錯誤 6:當(dāng)出現(xiàn)“表已滿”時

表已滿(table-full)的錯誤一般發(fā)生在磁盤可用空間已滿、以及數(shù)據(jù)表已經(jīng)到達(dá)了最大容量,這兩種情形之下。

我們往往可以通過操作系統(tǒng)的設(shè)置,來檢測并限制 MySQL 中的數(shù)據(jù)表作為單個文件的實際容量上限。

錯誤 7:當(dāng)表 tbl_name 不存在時

如下錯誤表明了:在默認(rèn)數(shù)據(jù)庫中,某個給定的數(shù)據(jù)表被視為不存在的情況。

Table 'tbl_name' doesn't exist 
Can't find file: 'tbl_name' (errno: 2) 

 

10種常見的MySQL錯誤,你可中招?

 

 

在此類情況下,用戶將無法正確地引用到其對應(yīng)的數(shù)據(jù)表。

而導(dǎo)致該情況的原因在于:雖然 MySQL 服務(wù)器使用了目錄和文件的形式來存儲數(shù)據(jù)庫表,但是按照操作系統(tǒng)的文件管理方式,數(shù)據(jù)庫及其數(shù)據(jù)表的名稱是會區(qū)分大小寫的。

錯誤 8:各種不同步的命令

如果以錯誤的順序去調(diào)用客戶端的函數(shù),那么您可能會接收到同步錯誤之類的命令。這就意味著該命令不能夠在客戶端的代碼中被執(zhí)行。

例如,您要執(zhí)行函數(shù) --mysql_use_result()。與此同時,您又嘗試去執(zhí)行另一個查詢 --mysql_free_result(),那么系統(tǒng)就有可能發(fā)生此類錯誤。

說白了,如果您要執(zhí)行的兩個查詢,它們所返回結(jié)果集分別是各自調(diào)用函數(shù)的對方輸出結(jié)果(并非MySQL的存儲結(jié)果)的話,那么就會出現(xiàn)不同步的命令現(xiàn)象。

錯誤 9:忽略用戶

如果 MySQL 服務(wù)器在啟動、或重新加載某些授權(quán)表時,發(fā)現(xiàn)有個用戶表中的帳戶帶有非法密碼,那么就會出現(xiàn)如下的錯誤:

Found the wrong password for user 'some_user'@'some_host'; ignoring user 

 

10種常見的MySQL錯誤,你可中招?

 

 

顯然,為了解決此類問題,我們應(yīng)該為該用戶事先分配一個新的且有效密碼。

錯誤 10:無法創(chuàng)建/寫入文件

如下的錯誤表明:如果在執(zhí)行請求的過程中,MySQL 不能在臨時目錄中,為某個結(jié)果集生成一個臨時文件:

Can't create/write to file 'sqla3fe_0.ism' 

通常的解決方案是:在啟動 MySQL 服務(wù)器時,采用 –tmpdir 選項。其對應(yīng)的命令如下:

> mysqld --tmpdir C:/temp 

 

10種常見的MySQL錯誤,你可中招?

 

 

結(jié)論

眾所周知,在處理數(shù)據(jù)庫時,居多的問題和錯誤都源自查詢操作。上述十種 MySQL 的常見錯誤可能只是冰山的一角。

您可能也能羅列出更多實踐中碰到過的問題。希望上述線索和解決方案能夠?qū)δ兴鶐椭?/p>

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

分享到:
標(biāo)簽:錯誤 MySQL
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定