Details
-
Bug
-
Status: Confirmed (View Workflow)
-
Major
-
Resolution: Unresolved
-
10.4.10, 10.5, 10.6, 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL), 10.11
-
None
-
Linux
Description
after upgrading to 1.4 from 10.3, I execute mysql_upgrade and I get
mysql.user OK
Phase 4/7: Running 'mysql_fix_privilege_tables'
ERROR 1071 (42000) at line 437: Specified key was too long; max key length is 1000 bytes
FATAL ERROR: Upgrade failed
But, that is mariadb upgrader code that fails, for my server does not have a single innodb table, all are Rocksdb. If I start Mariadb with skip-innodb=1, there is no error, therefore, the error happens with the upgrader tries to create performance tables for inndb.
if this is a table from mysql then a descriptive message should say what table is the offending one. I tried to trace all activity and the last message is:
36 Prepare DROP DATABASE IF EXISTS performance_schema
36 Query EXECUTE stmt
36 Execute DROP DATABASE IF EXISTS performance_schema
36 Query DROP PREPARE stmt
36 Query SET @cmd= "CREATE DATABASE performance_schema character set utf8"
36 Query SET @str = IF(@broken_pfs = 0, @cmd, 'SET @dummy = 0')
36 Query PREPARE stmt FROM @str
36 Prepare CREATE DATABASE performance_schema character set utf8
36 Query EXECUTE stmt
36 Execute CREATE DATABASE performance_schema character set utf8
36 Query DROP PREPARE stmt
36 Quit
so what comes next is generating the error. How do we know what code is being applied?
Attachments
Issue Links
- is duplicated by
-
MDEV-31148 myqsl_upgrade fails: mysql.innodb_index_stats not present
- Closed