天天看點

Mysql常見的錯誤代碼

   130 :檔案格式不正确。(還不是很清楚錯誤的狀況)

         145  :檔案無法打開。

         1005:MYSQL建立表失敗

  

  1006:MYSQL建立資料庫失敗

      1007:MYSQL資料庫已存在,建立資料庫失敗

  1008:MYSQL資料庫不存在,删除資料庫失敗

  1009:MYSQL不能删除資料庫檔案導緻删除資料庫失敗

  1010:MYSQL不能删除資料目錄導緻删除資料庫失敗

         1011:MYSQL删除資料庫檔案失敗

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

  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:MYSQL記錄已被其他使用者修改

  1021:硬碟剩餘空間不足,請加大硬碟可用空間

  1022:MYSQL關鍵字重複,更改記錄失敗

  1023:MYSQL關閉時發生錯誤

  1024:MYSQL讀檔案錯誤

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

  1026:MYSQL寫檔案錯誤

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

         1032:MYSQL記錄不存在

  1036:MYSQL資料表是隻讀的,不能對它進行修改

  1037:系統記憶體不足,請重新開機資料庫或重新開機伺服器

  1038:MYSQL用于排序的記憶體不足,請增大排序緩沖區

  1040:MYSQL已到達資料庫的最大連接配接數,請加大資料庫可用連接配接數

                      Quote:

                      在my.ini 修改max_connections=100為max_connections=1000或更大,重新開機mysql

 

  1041:系統記憶體不足

  1042:無效的主機名

  1043:無效連接配接

  1044:MYSQL目前使用者沒有通路資料庫的權限

  1045:MYSQL不能連接配接資料庫,伺服器、資料庫名、使用者名或密碼錯誤

                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:MYSQL字段不能為空

  1049:MYSQL資料庫不存在

  1050:MYSQL資料表已存在

  1051:MYSQL資料表不存在

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

  1060:字段重複,導緻無法插入這個字段。

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

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

                      2.確定相關資料表中主碼重複的字段是否存在,如果存在删除這條記錄

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

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

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

  1067:MySQL 版本為 5,不支援空的預設值。

  1081:MYSQL不能建立Socket連接配接

  1114:MYSQL資料表已滿,不能容納任何記錄

  1116:MYSQL打開的資料表太多

  1129:MYSQL資料庫出現異常,請重新開機資料庫

  1130:MYSQL連接配接資料庫失敗,沒有連接配接資料庫的權限

  1133:MYSQL資料庫使用者不存在

  1135:可能是記憶體不足夠,請聯系空間商解決。

  1141:MYSQL目前使用者無權通路資料庫

  1142:MYSQL目前使用者無權通路資料表

  1143:MYSQL目前使用者無權通路資料表中的字段

  1146:MYSQL資料表不存在或資料表缺失,請恢複備份資料

  1147:MYSQL未定義使用者對資料表的通路權限

  1149:MYSQL語句文法錯誤

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

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

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

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

  1062:MYSQL字段值重複,入庫失敗

  1169:MYSQL字段值重複,更新記錄失敗

  1177:MYSQL打開資料表失敗

  1180:MYSQL送出事務失敗

  1181:MYSQL復原事務失敗

  1203:MYSQL目前使用者和資料庫建立的連接配接已到達資料庫的最大連接配接數,請增大可用的資料庫連接配接數或  

                       重新開機資料庫

  1205:MYSQL加鎖逾時

  1211:MYSQL目前使用者沒有建立使用者的權限

  1216:MYSQL外鍵限制檢查失敗,更新子表記錄失敗

  1217:MYSQL外鍵限制檢查失敗,删除或修改主表記錄失敗

  1226:MYSQL目前使用者使用的資源已超過所允許的資源,請重新開機資料庫或重新開機伺服器

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

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

          1250:用戶端不支援伺服器要求的認證協定,請考慮更新用戶端。

          1251:Client 不能支援 authentication protocol 的要求

                      Client does not support authentication protocol requested by server; consider upgrading MySQL client

                      方法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:MySQL服務不能正常啟動

                        啟動這台機器上的MySQL服務 

                        如服務啟動失敗,一定是你的my.ini檔案出了差錯, MySQL服務不能正常啟動 

                        你删除了它後,MySQL就會按其預設配置運作,那就沒有問題了

以上資料根據網上各方面資料整合而成。

有解釋錯誤的話,請大家跟帖,我會加以修正。

以上方法不一定有效,如果大家有其它的解決方法也可以提出來,讓我們一起來完善!

本文轉自 kesungang 51CTO部落格,原文連結:http://blog.51cto.com/sgk2011/1825308,如需轉載請自行聯系原作者