Mysql

將 Mysql 8.0.13 更新到 8.0.15 後 MySql 伺服器失敗,錯誤程式碼 = 1265

  • February 12, 2019

從MySql 8.0.13(原始碼編譯)升級到MySql 8.0.15後,MySql Server無法啟動。

日誌:

2019-02-12T10:09:52.275336Z 1 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement 'INSERT INTO routines SELECT * FROM mysql.routines' failed with error code = 1265, error message = 'Daten abgeschnitten für Feld 'sql_mode' in Zeile 7'. 
2019-02-12T10:09:52.302630Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. 
2019-02-12T10:09:52.302856Z 0 [ERROR] [MY-010119] [Server] Aborting 

“Daten abgeschnitten für Feld”的意思是“為欄位截斷的數據” - 它是德語版本……

表檢查器沒有發現任何錯誤 - 我該如何解決這個問題?

你真誠的羅伯特

我自己找到了解決方案。在舊的 mysql 8.0.13 伺服器上,我更正了其中一個程序的欄位 SQL_MODE,結果太長了。

SELECT * FROM INFORMATION_SCHEMA.ROUTINES;

我發現了一些不再需要的(舊)儲存過程,並且其中一個儲存過程的 SQL_MODE 欄位中的條目太長。刪除該儲存過程後,啟動新的 8.0.15 伺服器和“mysql_upgrade”一切正常,伺服器現在可以啟動而沒有任何錯誤。

引用自:https://dba.stackexchange.com/questions/229501