全部產品
Search
文件中心

Lindorm:常見錯誤碼參考

更新時間:Jul 19, 2024

使用Lindorm SQL訪問寬表引擎或時序引擎遇到異常時,系統會以錯誤碼的形式將異常或程式錯誤返回給開發人員。您可以在本文的表格中搜尋報錯返回的錯誤編號,快速尋找具體的錯誤資訊及處理建議。

常見錯誤

下表中的錯誤碼與MySQL中的部分服務端錯誤碼相容,您可以依據開發MySQL應用的經驗對它們進行異常處理。如果有無法處理的錯誤,請聯絡Lindorm支援人員(DingTalk號:s0s3eg3)。

其中,SQLSTATE是SQL92標準中定義的SQL層級錯誤的分類規範,用於在應用程式中進行分類異常處理。

錯誤碼

SQLSTATE

錯誤訊息格式

處理建議

1005

HY000

Can't create table '%s'

無法建立表,請根據錯誤訊息檢查建表語句的用法是否正確。

1006

HY000

Can't create database '%s' (errno: %d - %s)

無法建立Database, 請根據錯誤訊息,檢查輸入的參數是否正確。

1007

HY000

Can't create database '%s'; database exists

該Database已存在,請使用其他名稱建立。

1008

HY000

Can't drop database '%s'; database doesn't exist

該Database不存在,無法進行刪除,請提供正確的Database名稱。

1009

HY000

Error dropping database (can't delete '%s', errno: %d - %s)

刪除Database失敗,請從錯誤訊息中擷取失敗原因。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

1030

HY000

Got error %s from storage engine: %s

儲存引擎無法歸類的錯誤。請將佔位符中的錯誤資訊留存並聯絡Lindorm支援人員尋求解決方案。

1040

08004

Too many connections (current limit: %d)

單個節點上的串連數過多(預設串連數上限:1000)。可以嘗試重新建立串連,但若執行個體的每個節點串連數都達到上限時,建議優先重新審視業務代碼中對於串連的使用方式。

若仍然無法解決,請聯絡Lindorm支援人員尋求解決方案。

1045

28000

Access denied for '%s'

認證失敗。請確認所用使用者的認證資訊是否存在記憶錯誤,筆誤等情況並輸入正確的認證資訊。

1043

28000

Bad handshake: %s

嘗試建立 MySQL協議的串連時,串連的初始化階段失敗。建議根據訊息中的詳細資料嘗試排查。

若仍然無法解決,請聯絡Lindorm支援人員尋求解決方案。

1046

3D000

No database selected

串連操作中未指定任何一個Database。重新審視串連設定並顯式指定一個Database。

1049

42000

Unknown database '%s'

未知Database,請指定需要訪問的Database。

1050

42S01

Table '%s' already exists

該表已經存在,請使用其他表名稱。

1054

42S22

Unknown column '%s'

操作了一個無法被識別的列名。請確認SQL中顯式指定的列名是否都是實際存在的。

1060

42S21

Duplicate column name '%s'

語句中指定了重複的列名。請確認SQL中顯式指定的列名存在重複。

1064

42000

You have an error in your SQL syntax; %s

SQL語句中存在語法錯誤,請參考SQL文法文檔進行校正。SQL文法文檔,請參見SQL參考

1082

42S12

Table '%s' has no index like the one used in CREATE INDEX; recreate the table

表中不存在與CREATE INDEX中索引類似的索引,建議重新建立表。

1146

42S02

Table '%s.%s' doesn't exist

該表不存在,請檢查是否輸入的名稱有誤。

1170

42000

BINARY/CHAR column '%s' used in column specification without a key length

指定部分資料類型時沒有指定長度,請重新審視建表語句為類似BINARY/CHAR這樣的類型顯式指定長度。

1211

42000

'%s'@'%s' is not allowed to create new users; %s

當前操作的使用者沒有建立新使用者的許可權。請先為目前使用者申請足夠的許可權。

1227

42501

Access denied: %s

確認所使用使用者的真實許可權,確保對訪問對象擁有足夠的許可權。

1243

HY000

Unknown prepared statement id (%d)

找不到所需的預準備語句。該異常有可能發生在先準備語句,再綁定動態參數的執行模式下。建議重新準備一下語句。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

1251

08004

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

基於MySQL協議串連Lindorm時,所用用戶端的驅動不支援服務端所需的使用者認證方法。建議參考Lindorm的MySQL協議相容文檔,顯式指定支援的認證方法,或者升級所用的用戶端驅動。

1295

HY000

This command is not supported in the prepared statement protocol yet

不支援預準備語句時同時指定多條語句,建議修改預準備語句的指定方式。

1461

42000

Can't create more than max_prepared_stmt_count statements (current value: %d)

在單一節點上同時預準備的語句數超過上限(預設上限:10000)。建議重新審視業務應用,修改SQL語句的預準備邏輯,避免同時準備過多語句。

1470

HY000

String '%s' is too long for %s (should be no longer than %d)

指定的對象名稱過長。

建議根據錯誤訊息中提示的長度修改建立資料對象時指定的名稱。

1815

HY000

Internal error: %s

無法歸類的內部異常。

請聯絡Lindorm支援人員尋求解決方案。

擴充錯誤

下表中的錯誤是Lindorm擴充出的一些異常情境,您可以根據下述處理建議並結合相應的SQLSTATE含義在業務代碼中進行處理。如果有無法處理的錯誤,請聯絡Lindorm支援人員(DingTalk號:s0s3eg3)。

錯誤碼

SQLSTATE

錯誤訊息格式

處理建議

1973

42000

Can't create user '%s'; it already exists

正在嘗試建立一個已存在的使用者。建議重新檢查已有使用者。

1974

42000

Can't drop user '%s'; it doesn't exist

正在嘗試刪除一個不存在的使用者。建議重新檢查已有使用者。

1975

42000

Can't alter user '%s'; it doesn't exist

正在嘗試修改一個不存在的使用者。建議重新檢查已有使用者。

1976

42000

Can't alter user '%s'; %s

無法執行修改指定的使用者。建議按照錯誤訊息所指示的內容進行排查。

若仍然無法解決,請聯絡Lindorm支援人員尋求解決方案。

3002

42L01

Inconsistent usage of database '%s' and '%s'

當前操作的目標Database與當前串連的Database不一致。

建議修改相關串連屬性或者使用USE語句切換當前使用的Database。

3024

HY000

Query execution was interrupted, maximum statement execution time exceeded

查詢逾時,請重試。

若重試依然逾時,請聯絡Lindorm支援人員尋求解決方案。

3025

HY000

Query execution was canceled

當前擷取結果中的查詢已在別處被中止。

建議重試查詢操作。

3163

HY000

%s

使用者已存在。建議重新檢查已有使用者。

8000

HY000

Can't alter database '%s' (errno: %d - %s)

無法修改Database,請根據錯誤訊息,檢查輸入的參數是否有誤。

8001

HY000

Can't create continuous query '%s' (errno: %d - %s)

無法建立連續查詢(continuous query),請根據錯誤訊息,檢查輸入的參數是否有誤。

8002

HY000

Can't create continuous query '%s'; continuous query exists

該連續查詢(continuous query)已經存在,請使用其他名稱進行建立。

8004

HY000

Continuous query '%s.%s' doesn't exist

該連續查詢(continuous query)不存在,請檢查輸入的名稱是否有誤。

8005

HY000

Table '%s' not found

表不存在,請檢查表的名稱是否有誤。

8006

HY000

Query failed; %s

查詢失敗,請根據錯誤訊息分析錯誤原因。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

8007

HY000

Insert failed; %s

寫入失敗,請根據錯誤訊息分析錯誤原因。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

8008

HY000

Quota exceeded; %s

超出資源限制,請根據錯誤訊息提示處理。

如果操作是資料查詢,請縮小查詢時間範圍,或者增加WHERE條件,減少查詢命中的資料量。

如果操作是資料寫入,請限制寫入TPS。

8009

HY000

Can't drop predownsample; %s

無法刪除指定的預降採樣,請根據錯誤訊息分析錯誤原因。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

8010

HY000

Can't show predownsample; %s

無法查看指定的預降採樣,請根據錯誤訊息分析錯誤原因。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

8011

42000

Unknown data type: %s

無法識別的資料類型。

資料讀寫過程中的實際資料類型與預期資料類型存在衝突。

建議根據錯誤訊息中的具體原因進行處理。

若依然無法解決,請聯絡Lindorm支援人員尋求解決方案。

8012

42000

Illegal operation: %s

SQL語句的用法錯誤, 或者是隨語句輸入的相關資料存在問題。建議對照文法手冊的文檔重新審視指定的 SQL 陳述式。

8013

42000

Cannot grant privilege '%s' to: %s; %s

GRANT許可權失敗。請根據錯誤訊息分析錯誤原因。

8014

42000

Cannot revoke privilege '%s' to: %s; %s

REVOKE許可權失敗。請根據錯誤訊息分析錯誤原因。

8015

HY000

Failed to alter parameter; %s

修改系統配置失敗。請根據錯誤訊息分析錯誤原因。

8016

HY000

Failed to show parameter; %s

展示系統配置失敗。請根據錯誤訊息分析錯誤原因。

8017

42611

Column name "%s" conflicts with a system column name

DDL中指定的列名與系統隱藏列重名。建議根據錯誤訊息中的具體原因進行列名改名。

8018

42000

DECIMAL column '%s' type should be specified with precision and scale

DDL中指定DECIMAL資料類型時需要指定Precision和Scale。

建議對照文法手冊的文檔重新審視指定的SQL語句。

8100

08003

The connection does not exist; %s

嘗試複用的串連會話已經被服務端釋放。

建議重建串連。

9000

HY000

Server internal error; %s

請聯絡Lindorm支援人員尋求解決方案。

9001

0A000

UNSUPPORTED: %s

不支援該文法。請對照SQL文法文檔,避免使用尚不支援的SQL文法。

9002

HY000

Function %s can only be used in domain-specific dialect (Time-series, etc.)

指定的函數不是一個通用函數,只能用於特定方言中(如面向時序引擎的方言)。

建議對照文法手冊的文檔重新審視指定的SQL語句。

9003

28000

The authentication method %s cannot apply to the old-fashion user, please consider to use another method.

建立串連時使用的認證方法無法適用於在舊版本引擎上建立的使用者。

詳情說明,請參見MySQL協議開發說明中的注意事項。

建議參考Lindorm的MySQL協議相容文檔,顯式指定支援的認證方法,或升級所用的用戶端驅動。

9004

08004

The authentication method %s not available for the current deployment, please consider to use another method.

建立串連時使用的認證方法在當前執行個體的部署形態上無法使用。

建議參考Lindorm的MySQL協議相容文檔,顯式指定支援的認證方法,或升級所用的用戶端驅動

9006

HY000

Analytical processing error; %s

分析型查詢執行錯誤。

請將佔位符中的錯誤資訊留存並聯絡Lindorm支援人員尋求解決方案。

9010

XX000

The storage engine request illegal: %s

儲存引擎內部通訊請求非法。

請將佔位符中的錯誤資訊留存並聯絡Lindorm支援人員尋求解決方案。

9011

HY000

Database protocol error: %s

MySQL協議報文錯誤。

請將佔位符中的錯誤資訊留存並聯絡Lindorm支援人員尋求解決方案。