您好,登錄后才能下訂單哦!
本篇內容介紹了“MySQL常見錯誤代碼有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
先給大家看幾個實例的錯誤分析與解決方案。
1.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock'
問題分析:可能是數據庫沒有啟動或者是端口被防火墻禁止。
解決方法:啟動數據庫或者防火墻開放數據庫監聽端口。
2.ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
問題分析:密碼不正確或者沒有權限訪問。
解決方法:
1)修改 my.cnf 主配置文件,在[mysqld]下添加 skip-grant-tables,重啟數據庫。最后修改密碼命令如下:
mysql> use mysql; mysql> update user set passwordpassword=password("123456") where user="root";
再刪除剛剛添加的 skip-grant-tables 參數,再重啟數據庫,使用新密碼即可登錄。
2)重新授權,命令如下:
mysql> grant all on *.* to 'root'@'mysql-server' identified by '123456';
3.客戶端報 Too many connections
問題分析:連接數超出 Mysql 的最大連接限制。
解決方法:
1、在 my.cnf 配置文件里面增加連接數,然后重啟 MySQL 服務。max_connections = 10000
2、臨時修改最大連接數,重啟后不生效。需要在 my.cnf 里面修改配置文件,下次重啟生效。
set GLOBAL max_connections=10000;
4.Warning: World-writable config file '/etc/my.cnf' is ignored ERROR! MySQL is running but PID file could not be found
問題分析:MySQL 的配置文件/etc/my.cnf 權限不對。
解決方法:
chmod 644 /et/my.cnf
5.InnoDB: Error: page 14178 log sequence number 29455369832 InnoDB: is in the future! Current system log sequence number 29455369832
問題分析:innodb 數據文件損壞。
解決方法:修改 my.cnf 配置文件,在[mysqld]下添加 innodb_force_recovery=4, 啟動數據庫后備份數據文件,然后去掉該參數,利用備份文件恢復數據。
6.從庫的 Slave_IO_Running 為 NO
問題分析:主庫和從庫的 server-id 值一樣.
解決方法:修改從庫的 server-id 的值,修改為和主庫不一樣,比主庫低。修改完后重啟,再同步即可!
7.從庫的 Slave_IO_Running 為 NO問題
問題分析:造成從庫線程為 NO 的原因會有很多,主要原因是主鍵沖突或者主庫刪除或更新數據, 從庫找不到記錄,數據被修改導致。通常狀態碼報錯有 1007、1032、1062、1452 等。
解決方法一:
mysql> stop slave; mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql> start slave;
解決方法二:設置用戶權限,設置從庫只讀權限
set global read_only=true;
8.Error initializing relay log position: I/O error reading the header from the binary log
分析問題:從庫的中繼日志 relay-bin 損壞.
解決方法:手工修復,重新找到同步的 binlog 和 pos 點,然后重新同步即可。
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.xxx',MASTER_LOG_POS=xxx;
維護過MySQL的運維或DBA都知道,經常會遇到的一些錯誤信息中有一些類似10xx的代碼。
Replicate_Wild_Ignore_Table: Last_Errno: 1032 Last_Error: Could not execute Update_rows event on table xuanzhi.test; Can't find record in 'test', Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's master log mysql-bin.000004, end_log_pos 3704
但是,如果不深究或者之前遇到過,還真不太清楚,這些代碼具體的含義是什么?這也給我們排錯造成了一定的阻礙。
所以,今天民工哥就把主從同步過程中一些常見的錯誤代碼,它的具體說明給大家整理出來了。
MySQL常見錯誤代碼說明:
130 :文件格式不正確。
145 :文件無法打開
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版本過低,不具有本功能
1250:客戶端不支持服務器要求的認證協議,請考慮升級客戶端。
1251:Client 不能支持 authentication protocol 的要求Client does not support authentication protocol requested by server; consider upgrading MySQL clientQuote:
1267:不合法的混合字符集。
2002:服務器端口不對。
2003:MySQL 服務沒有啟動,請啟動該服務。
2008:MySQL client ran out of memory錯誤指向了MySQL客戶mysql。這個錯誤的原因很簡單,客戶沒有足夠的內存存儲全部結果。
2013:遠程連接數據庫是有時會有這個問題,MySQL 服務器在執行一條 SQL 語句的時候失去了連接造成的。
10048:建議在my.ini文件中修改最大連接數, 把 mysql_connect() 方法都改成了 mysql_pconnect() 方法. 要修改mysql_pconnect(),可以在論壇的data目錄的sql_config.php中 p c o n n e c t = 0 ; / / 是 否 持 久 連 接 修 改 成 pconnect = 0; //是否持久連接 修改成pconnect=0;//是否持久連接修改成pconnect = 1; 開啟防刷新,嚴禁刷新太快.
10055:沒有緩存空間可利用,查看下你的C盤空間是否已經滿,清除一些沒有用的文件. 可以在后臺的"論壇核心設置","核心功能設置"里"進程優化"開啟,"GZIP 壓縮輸出"關閉.查找了一下10055(沒有緩存空間可利用)
10061: 啟動這臺機器上的MySQL服務 如服務啟動失敗,一定是你的my.ini文件出了差錯, MySQL服務不能正常啟動 你刪除了它后,MySQL就會按其默認配置運行, 那就沒有問題了
“MySQL常見錯誤代碼有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。