這裡所說的是MySQL Query Error提示錯誤的解決方案,部分是完全可以自己動手解決的,沒有多大必要一遍遍問。除非是常規方法不能解決的~
下面是常見安裝外掛程式會出現的資料庫錯誤資訊提示:[Copy to clipboard]
CODE:
Duplicate column name 'allowrank'
升級資料偶爾這樣吧,表示這個表已經存在。但是如果是安裝的話不影響下面的步驟。外掛程式編寫過程出現這個問題,就換個表名吧。[Copy to clipboard]
CODE:
Error: Duplicate entry 'aa2HV2' for key 1
Errno.: 1062
一般是索引值被重複輸入了,導致的重複錯誤,可以重建立表來解決這個問題。[Copy to clipboard]
CODE:
Error: Unknown system variable 'NAMES'
Errno.: 1193
匯入資料時候容易出現的。開啟SQL檔案
1、刪除SET NAMES'gbk'
2、找到ENGINE=MYISAM DEFAULT CHARSET=gbk,替換為:TYPE=MYISAM
3、找到ENGINE=HEAP DEFAULT CHARSET=gbk,替換為:TYPE=HEAP
4、character set gbk collate gbk_bin,刪除。
5、重新恢複即可。[Copy to clipboard]
CODE:
Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'DEFAULT CHARSET=gbk' at line 1
Errno.: 1064
一般是編碼不符,開啟安裝檔案,看見資料庫升級代碼,有'DEFAULT CHARSET=gbk'的就可以刪除了。[Copy to clipboard]
CODE:
Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 's XXXXX
Errno.: 1064
比較棘手的問題,一般是資料庫代碼寫入時類型衝突了,如浮點寫了漢字就會這樣,檢查自己的設定,是否該寫數位寫了英文或者漢字。如果在外掛程式編寫過程中遇到的,就檢查資料庫文法的正確性。
如果是資料匯入,可以用restore.php匯入可避免。[Copy to clipboard]
CODE:
Error: Unknown column 'ff.threadperms' in 'field list'
這種最好解決,一般看見Unknown column提示的,表示你的資料表少了這個表,手動建立即可解決。[Copy to clipboard]
CODE:
Error: Access denied for user: 'UNKNOWN_USER@localhost' (Using password: YES)
這種問題不知道說什麼好~資料庫密碼使用者填錯了都還不清楚,諮詢空間商。[Copy to clipboard]
CODE:
Can't DROP 'aaaallowrank'; check that column/key exists
一般是反安裝容易出現的,表示該表不存在。其實也沒有問題了,不存在的話其實也無須反安裝了。[Copy to clipboard]
CODE:
Error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (gbk_chinese_ci,COERCIBLE) for operation '='
Errno.: 1267
資料庫字元集不符所導致的,請到PHPMYADMIN把資料表的字元集修改下吧。[Copy to clipboard]
CODE:
Discuz! info: MySQL Query Error
User: admin
Time: 2006-4-19 12:32pm
Script: /bbs2/index.php
SQL: DELETE FROM cdb_subscriptions WHERE lastpost<'1145421168'-7776000
Error: Unknown column 'lastpost' in 'where clause'
Errno:1054
An error report has been dispatched to our administrator.
原因:subscriptions表缺少lastpost欄位
解決方案:在phpMyAdmin裡或DZ論壇後台“升級資料庫”輸入下面語句
ALTER TABLE cdb_subscriptions ADD lastpost int( 10 ) UNSIGNED NOT NULL DEFAULT '0' AFTER tid;
[Copy to clipboard]
CODE:
串連出錯資訊1251:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
解決方案:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('密碼') WHERE Host = 'localhost(主機名稱)或IP' AND User = '資料庫使用者名稱';
mysql> FLUSH PRIVILEGES;mysql> use mysql
mysql> update user set password=old_password('cnscn');
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 1
Current database: mysql
Query OK, 5 rows affected (0.01 sec)
Rows matched: 5 Changed: 5 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
[Copy to clipboard]
CODE:
Discuz! info: MySQL Query Error
User: imoker
Time: 2006-10-17 12:45pm
Script: /bbs/viewthread.php
SQL: SELECT expiration, keywords, relatedthreads FROM cdb_relatedthreads WHERE tid='3613'
Error: Can't find file: 'cdb_relatedthreads.MYI' (errno: 2)
Errno.: 1017
Similar error report has beed dispatched to administrator before.
錯誤分析:伺服器非法關機,有可能會對部分資料庫造成一定影響。
一般運行會報錯
**.MYD不能開啟。
Can't find file: '***.MYI'
解決方案:用你下載的論壇壓縮包裡面utilities目錄下的repair.php修複一下
具體方法:上傳repair.php到論壇根目錄下,然後在瀏覽器運行
http://你的論壇地址/repair.php
一般點擊第一個連結“repair.php?html=1&check=1”就可以修複了,
如果不能修複可以嘗試驗擊第二個串連“repair.php?check=1&iterations=5”
就可以了。
溫馨提示:修複完表操作以後一定記得要從伺服器刪除這個檔案repair.php
自己的整理,10月17日更新,還有補充的就說明下吧。
1005:建立表失敗1006:建立資料庫失敗1007:資料庫已存在,建立資料庫失敗1008:資料庫不存在,刪除資料庫失敗1009:不能刪除資料庫檔案導致刪除資料庫失敗1010:不能刪除資料目錄導致刪除資料庫失敗1011:刪除資料庫檔案失敗1012:不能讀取系統資料表中的記錄1020:記錄已被其他使用者修改1021:硬碟剩餘空間不足,請加大硬碟可用空間1022:關鍵字重複,更改記錄失敗1023:關閉時發生錯誤1024:讀檔案錯誤1025:更改名字時發生錯誤1026:寫檔案錯誤1032:記錄不存在1036:資料表是唯讀,不能對它進行修改1037:系統記憶體不足,請重啟資料庫或重啟伺服器1038:用於排序的記憶體不足,請增大排序緩衝區1040:已到達資料庫的最大串連數,請加大資料庫可用串連數1041:系統記憶體不足1042:無效的主機名稱1043:無效串連1044:目前使用者沒有訪問資料庫的許可權1045:不能串連資料庫,使用者名稱或密碼錯誤1048:欄位不可為空1049:資料庫不存在1050:資料表已存在1051:資料表不存在1054:欄位不存在1065:無效的SQL語句,SQL語句為空白1081:不能建立Socket串連1114:資料表已滿,不能容納任何記錄1116:開啟的資料表太多1129:資料庫出現異常,請重啟資料庫1130:串連資料庫失敗,沒有串連資料庫的許可權1133:資料庫使用者不存在1141:目前使用者無權訪問資料庫1142:目前使用者無權訪問資料表1143:目前使用者無權訪問資料表中的欄位1146:資料表不存在1147:未定義使用者對資料表的存取權限1149:SQL語句語法錯誤1158:網路錯誤,出現讀錯誤,請檢查網路連接狀況1159:網路錯誤,讀逾時,請檢查網路連接狀況1160:網路錯誤,出現寫錯誤,請檢查網路連接狀況1161:網路錯誤,寫逾時,請檢查網路連接狀況1062:欄位值重複,入庫失敗1169:欄位值重複,更新記錄失敗1177:開啟資料表失敗1180:提交事務失敗1181:復原事務失敗1203:目前使用者和資料庫建立的串連已到達資料庫的最大串連數,請增大可用的資料庫連接數或重啟資料庫1205:加鎖逾時1211:目前使用者沒有建立使用者的許可權1216:外鍵約束檢查失敗,更新子表記錄失敗1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗1226:目前使用者使用的資源已超過所允許的資源,請重啟資料庫或重啟伺服器1227:許可權不足,您無權進行此操作1235:MySQL版本過低,不具有本功能