MYSQL常見錯(cuò)誤提示及解決方法
技術(shù)支持服務(wù)電話:15308000360 【7x24提供運(yùn)維服務(wù),解決各類系統(tǒng)/軟硬件疑難技術(shù)問題】
130 :文件格式不正確。(還不是很清楚錯(cuò)誤的狀況)
145 :文件無法打開。
1005:創(chuàng)建表失敗。
1006:創(chuàng)建數(shù)據(jù)庫失敗。
1007:數(shù)據(jù)庫已存在,創(chuàng)建數(shù)據(jù)庫失敗。
1008:數(shù)據(jù)庫不存在,刪除數(shù)據(jù)庫失敗。
1009:不能刪除數(shù)據(jù)庫文件導(dǎo)致刪除數(shù)據(jù)庫失敗。
1010:不能刪除數(shù)據(jù)目錄導(dǎo)致刪除數(shù)據(jù)庫失敗。
1011:刪除數(shù)據(jù)庫文件失敗。
1012:不能讀取系統(tǒng)表中的記錄。
1016:文件無法打開,使用后臺修復(fù)或者使用 phpmyadmin 進(jìn)行修復(fù)。
Quote:
開始=>所有程序=>附件=>命令提示符
輸入 mysql 所在硬盤盤符
cd mysql 所在目錄
cd bin
輸入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI
ps : D:usr/local/mysql/data/bbs 是你論壇數(shù)據(jù)庫的路徑
-f 根據(jù)具體情況選擇,一般也可以選擇 -r
注意你的 系統(tǒng)C盤或放數(shù)據(jù)庫的硬盤空間是否足夠,一般小于 1G 很容易出現(xiàn)錯(cuò)誤。
或用mysqlcheck命令進(jìn)行修復(fù)。具體的方法:利用命令行進(jìn)入mysql/bin目錄,執(zhí)行
mysqlcheck -o -r phpwind -uroot -p
其中phpwind是你數(shù)據(jù)庫的名稱,root是你的數(shù)據(jù)庫用戶名,然后會提示你輸入密碼。然后就會修復(fù)你的數(shù)據(jù)庫。
1017:服務(wù)器非法關(guān)機(jī),導(dǎo)致該文件損壞。
1020:記錄已被其他用戶修改。
1021:硬盤剩余空間不足,請加大硬盤可用空間。
1022:關(guān)鍵字重復(fù),更改記錄失敗。
1023:關(guān)閉時(shí)發(fā)生錯(cuò)誤。
1024:讀文件錯(cuò)誤。
1025:更改名字時(shí)發(fā)生錯(cuò)誤。
1026:寫文件錯(cuò)誤。
1030:可能是服務(wù)器不穩(wěn)定。(具體原因不是很清楚)
1032:記錄不存在。
1036:數(shù)據(jù)表是只讀的,不能對它進(jìn)行修改。
1037:系統(tǒng)內(nèi)存不足,請重啟數(shù)據(jù)庫或重啟服務(wù)器。
1038:用于排序的內(nèi)存不足,請?jiān)龃笈判蚓彌_區(qū)。
1040:已到達(dá)數(shù)據(jù)庫的最大連接數(shù),請加大數(shù)據(jù)庫可用連接數(shù)。
Quote:
在my.ini 修改max_connections=100為max_connections=1000或更大,重啟mysql
1041:系統(tǒng)內(nèi)存不足。
1042:無效的主機(jī)名。
1043:無效連接。
1044:數(shù)據(jù)庫用戶權(quán)限不足,請聯(lián)系空間商解決。
1045:數(shù)據(jù)庫服務(wù)器/數(shù)據(jù)庫用戶名/數(shù)據(jù)庫名/數(shù)據(jù)庫密碼錯(cuò)誤,請聯(lián)系空間商檢查帳戶。
Quote:
方法:確保論壇data目錄下的sql_config.php用戶名與密碼都正確.如果用戶忘記了數(shù)據(jù)庫的密碼,可以按如下方式進(jìn)行密碼的修改:
如果 MySQL 正在運(yùn)行,首先停止。
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進(jìn)入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
1046:沒有選擇數(shù)據(jù)庫。
1048:字段不能為空。
1049:數(shù)據(jù)庫不存在。
1050:數(shù)據(jù)表已存在。
1051:數(shù)據(jù)表不存在。
1054:字段不存在,自行建立字段。
1060:字段重復(fù),導(dǎo)致無法插入這個(gè)字段。
1062:字段值重復(fù),入庫失敗
Quote:
1.如果出類似主碼為"65535"的錯(cuò)誤,可以查看相關(guān)表的自增字段,將字段值改在就可以
2.確保相關(guān)數(shù)據(jù)表中主碼重復(fù)的字段是否存在,如果存在刪除這條記錄
3.備份數(shù)據(jù)庫,修復(fù)相關(guān)表(注:這種情況比較常見,如pw_posts表,對表進(jìn)行修復(fù)的時(shí)候不要忘記備份).
1064:MySQL 不支持錯(cuò)誤提示中的編碼。
1065:無效的 SQL 語句,SQL 語句為空。
1067:MySQL 版本為 5,不支持空的默認(rèn)值。
1081:不能建立 Socket 連接。
1114:數(shù)據(jù)表已滿,不能容納任何記錄。
1115:設(shè)置的字符集在 MySQL 并沒有支持。
1116:打開的數(shù)據(jù)表太多。
1129:數(shù)據(jù)庫出現(xiàn)異常,請重啟數(shù)據(jù)庫。
1130:連接數(shù)據(jù)庫失敗,沒有連接數(shù)據(jù)庫的權(quán)限。
1133:數(shù)據(jù)庫用戶不存在。
1135:可能是內(nèi)存不足夠,請聯(lián)系空間商解決。
1141:當(dāng)前用戶無權(quán)訪問數(shù)據(jù)庫。
1142:當(dāng)前用戶無權(quán)訪問數(shù)據(jù)表。
1143:當(dāng)前用戶無權(quán)訪問數(shù)據(jù)表中的字段。
1146:數(shù)據(jù)表缺失,請恢復(fù)備份數(shù)據(jù)
1147:未定義用戶對數(shù)據(jù)表的訪問權(quán)限。
1149:SQL 語句語法錯(cuò)誤。
1158:網(wǎng)絡(luò)錯(cuò)誤,出現(xiàn)讀錯(cuò)誤,請檢查網(wǎng)絡(luò)連接狀況。
1159:網(wǎng)絡(luò)錯(cuò)誤,讀超時(shí),請檢查網(wǎng)絡(luò)連接狀況。
1160:網(wǎng)絡(luò)錯(cuò)誤,出現(xiàn)寫錯(cuò)誤,請檢查網(wǎng)絡(luò)連接狀況。
1161:網(wǎng)絡(luò)錯(cuò)誤,寫超時(shí),請檢查網(wǎng)絡(luò)連接狀況。
1169:字段值重復(fù),更新記錄失敗。
1177:打開數(shù)據(jù)表失敗。
1180:提交事務(wù)失敗。
1181:回滾事務(wù)失敗。
1193:不支持字符集限定(SET NAMES)。
1203:當(dāng)前用戶和數(shù)據(jù)庫建立的連接已到達(dá)數(shù)據(jù)庫的最大連接數(shù),請?jiān)龃罂捎玫臄?shù)據(jù)庫連接數(shù)或重啟數(shù)據(jù)庫。
1205:加鎖超時(shí)。
1211:當(dāng)前用戶沒有創(chuàng)建用戶的權(quán)限。
1216:外鍵約束檢查失敗,更新子表記錄失敗。
1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗。
1226:當(dāng)前用戶使用的資源已超過所允許的資源,請重啟數(shù)據(jù)庫或重啟服務(wù)器。
1227:權(quán)限不足,您無權(quán)進(jìn)行此操作。
1235:MySQL版本過低,不具有本功能。
1250:客戶端不支持服務(wù)器要求的認(rèn)證協(xié)議,請考慮升級客戶端。
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 ');
結(jié)合我們的實(shí)際情況,在 MySQL Command Line Client 下運(yùn)行:
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;
上面紅色的部分請按自己實(shí)際情況修改。
1267:不合法的混合字符集。
2002:服務(wù)器端口不對,請咨詢空間商正確的端口。
2003:MySQL 服務(wù)沒有啟動,請啟動該服務(wù)。
2008:MySQL client ran out of memory
錯(cuò)誤指向了MySQL客戶mysql。這個(gè)錯(cuò)誤的原因很簡單,客戶沒有足夠的內(nèi)存存儲全部結(jié)果。
2013:遠(yuǎn)程連接數(shù)據(jù)庫是有時(shí)會有這個(gè)問題,MySQL 服務(wù)器在執(zhí)行一條 SQL 語句的時(shí)候失去了連接造成的。
10048:
Quote:
建議在my.ini文件中修改最大連接數(shù),
把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.
要修改mysql_pconnect(),可以在論壇的data目錄的sql_config.php中
$pconnect = 0; //是否持久連接
修改成$pconnect = 1;
開啟防刷新,嚴(yán)禁刷新太快.
10055:沒有緩存空間可利用
Quote:
查看下你的C盤空間是否已經(jīng)滿,清除一些沒有用的文件.
可以在后臺的"論壇核心設(shè)置","核心功能設(shè)置"里"進(jìn)程優(yōu)化"開啟,"GZIP 壓縮輸出"關(guān)閉.
查找了一下10055(沒有緩存空間可利用)出錯(cuò)的原因,分析了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
把前面的#去了
Quote:
啟動這臺機(jī)器上的MySQL服務(wù)
如服務(wù)啟動失敗
一定是你的my.ini文件出了差錯(cuò),
MySQL服務(wù)不能正常啟動
你刪除了它后,MySQL就會按其默認(rèn)配置運(yùn)行,
那就沒有問題了