程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL常見錯誤提示及解決方法

MySQL常見錯誤提示及解決方法

編輯:關於MYSQL數據庫

130 :文件格式不正確。(還不是很清楚錯誤的狀況)

145 :文件無法打開。

1005:創建表失敗。

1006:創建數據庫失敗。

1007:數據庫已存在,創建數據庫失敗。

1008:數據庫不存在,刪除數據庫失敗。

1009:不能刪除數據庫文件導致刪除數據庫失敗。

1010:不能刪除數據目錄導致刪除數據庫失敗。

1011:刪除數據庫文件失敗。

1012:不能讀取系統表中的記錄。

1016:文件無法打開,使用後台修復或者使用 PHPmyadmin 進行修復。

Quote:

開始=>所有程序=>附件=>命令提示符

輸入 MySQL 所在硬盤盤符

cd MySQL 所在目錄

cd bin

輸入 myisamchk -f D:usr/local/MySQL/data/bbs/PW_members.MYI

ps : D:usr/local/MySQL/data/bbs 是你論壇數據庫的路徑

-f 根據具體情況選擇,一般也可以選擇 -r

注意你的 系統C盤或放數據庫的硬盤空間是否足夠,一般小於 1G 很容易出現錯誤。

或用mysqlcheck命令進行修復。具體的方法:利用命令行進入MySQL/bin目錄,執行

MySQLcheck -o -r PHPwind -uroot -p

其中PHPwind是你數據庫的名稱,root是你的數據庫用戶名,然後會提示你輸入密碼。然後就會修復你的數據庫。

1017:服務器非法關機,導致該文件損壞。

1020:記錄已被其他用戶修改。

1021:硬盤剩余空間不足,請加大硬盤可用空間。

1022:關鍵字重復,更改記錄失敗。

1023:關閉時發生錯誤。

1024:讀文件錯誤。

1025:更改名字時發生錯誤。

1026:寫文件錯誤。

1030:可能是服務器不穩定。(具體原因不是很清楚)

1032:記錄不存在。

1036:數據表是只讀的,不能對它進行修改。

1037:系統內存不足,請重啟數據庫或重啟服務器。

1038:用於排序的內存不足,請增大排序緩沖區。

1040:已到達數據庫的最大連接數,請加大數據庫可用連接數。

Quote:

在my.ini 修改max_connections=100為max_connections=1000或更大,重啟MySQL

1041:系統內存不足。

1042:無效的主機名。

1043:無效連接。

1044:數據庫用戶權限不足,請聯系空間商解決。

1045:數據庫服務器/數據庫用戶名/數據庫名/數據庫密碼錯誤,請聯系空間商檢查帳戶。

Quote:

方法:確保論壇data目錄下的sql_config.PHP用戶名與密碼都正確.如果用戶忘記了數據庫的密碼,可以按如下方式進行密碼的修改:

如果 MySQL 正在運行,首先停止。

啟動 MySQL :bin/safe_MySQLd --skip-grant-tables &

就可以不需要密碼就進入 MySQL 了。

然後就是

以下為引用的內容:
>use MySQL
>update user set password=passWord("new_pass") where user="root";
>flush privileges;

1046:沒有選擇數據庫。

1048:字段不能為空。

1049:數據庫不存在。

1050:數據表已存在。

1051:數據表不存在。

1054:字段不存在,自行建立字段。

1060:字段重復,導致無法插入這個字段。

1062:字段值重復,入庫失敗

Quote:

1.如果出類似主碼為"65535"的錯誤,可以查看相關表的自增字段,將字段值改在就可以

2.確保相關數據表中主碼重復的字段是否存在,如果存在刪除這條記錄

3.備份數據庫,修復相關表(注:這種情況比較常見,如pw_posts表,對表進行修復的時候不要忘記備份)

1064:MySQL 不支持錯誤提示中的編碼。

1065:無效的 SQL 語句,SQL 語句為空。

1067:MySQL 版本為 5,不支持空的默認值。

1081:不能建立 Socket 連接。

1114:數據表已滿,不能容納任何記錄。

1115:設置的字符集在 MySQL 並沒有支持。

1116:打開的數據表太多。

1129:數據庫出現異常,請重啟數據庫。

1130:連接數據庫失敗,沒有連接數據庫的權限。

1133:數據庫用戶不存在。

1135:可能是內存不足夠,請聯系空間商解決。

1141:當前用戶無權訪問數據庫。

1142:當前用戶無權訪問數據表。

1143:當前用戶無權訪問數據表中的字段。

1146:數據表缺失,請恢復備份數據

1147:未定義用戶對數據表的訪問權限。

1149:SQL 語句語法錯誤。

1158:網絡錯誤,出現讀錯誤,請檢查網絡連接狀況。

1159:網絡錯誤,讀超時,請檢查網絡連接狀況。

1160:網絡錯誤,出現寫錯誤,請檢查網絡連接狀況。

1161:網絡錯誤,寫超時,請檢查網絡連接狀況。

1169:字段值重復,更新記錄失敗。

1177:打開數據表失敗。

1180:提交事務失敗。

1181:回滾事務失敗。

1193:不支持字符集限定(SET NAMES)。

1203:當前用戶和數據庫建立的連接已到達數據庫的最大連接數,請增大可用的數據庫連接數或重啟數據庫。

1205:加鎖超時。

1211:當前用戶沒有創建用戶的權限。

1216:外鍵約束檢查失敗,更新子表記錄失敗。

1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗。

1226:當前用戶使用的資源已超過所允許的資源,請重啟數據庫或重啟服務器。

1227:權限不足,您無權進行此操作。

1235:MySQL版本過低,不具有本功能。

1250:客戶端不支持服務器要求的認證協議,請考慮升級客戶端。

1251:ClIEnt 不能支持 authentication protocol 的要求

ClIEnt does not support authentication protocol requested by server; consider upgrading MySQL clIEnt

Quote:

方法1:MySQL> SET PASSWord FOR

-> ' some_user '@' some_host ' = OLD_PASSWord(' newpwd ');

結合我們的實際情況,在 MySQL Command Line ClIEnt 下運行:

set passWord for root@localhost = old_passWord('123456');

方法2:

以下為引用的內容:
mysql> UPDATE MySQL.user SET Password = OLD_PASSWord('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
MySQL> FLUSH PRIVILEGES;

上面紅色的部分請按自己實際情況修改。

1267:不合法的混合字符集。

2002:服務器端口不對,請咨詢空間商正確的端口。

2003:MySQL 服務沒有啟動,請啟動該服務。

2008:MySQL clIEnt ran out of memory

錯誤指向了MySQL客戶MySQL。這個錯誤的原因很簡單,客戶沒有足夠的內存存儲全部結果。

2013:遠程連接數據庫是有時會有這個問題,MySQL 服務器在執行一條 SQL 語句的時候失去了連接造成的。

10048:

Quote:

建議在my.ini文件中修改最大連接數,把 mysql_connect() 方法都改成了 MySQL_pconnect() 方法.
要修改MySQL_pconnect(),可以在論壇的data目錄的sql_config.PHP中$pconnect = 0; //是否持久連接修改成$pconnect = 1;開啟防刷新,嚴禁刷新太快。

10055:沒有緩存空間可利用

Quote:

查看下你的C盤空間是否已經滿,清除一些沒有用的文件.

可以在後台的"論壇核心設置","核心功能設置"裡"進程優化"開啟,"GZIP 壓縮輸出"關閉.

查找了一下10055(沒有緩存空間可利用)出錯的原因,分析了my.ini的配制文件,在my.ini中如下:

以下為引用的內容:
default-storage-engine=INNODB
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=10M
innodb_log_file_size=10M
innodb_thread_concurrency=8

覺得可以把innodb_buffer_pool_size=10M 加大如100M或是1000M

以上是對MySQL5的

如果是MySQL4可以在my.ini中增加如下:

以下為引用的內容:
#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
#innodb_data_home_dir = c:ibdata
#innodb_log_group_home_dir = c:iblogs
#innodb_log_arch_dir = c:iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50

把前面的#去了

10061:

Quote:

啟動這台機器上的MySQL服務

如服務啟動失敗

一定是你的my.ini文件出了差錯,

MySQL服務不能正常啟動

你刪除了它後,MySQL就會按其默認配置運行,

那就沒有問題了



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved