mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-28915: mysql_upgrade fails due to old_mode="", with "Cannot load from
mysql.proc. The table is probably corrupted" Analysis: When mysql_upgrade runs statements for upgrade, characterset is converted to utf8mb4 because server starts with old_mode that interprets utf8 to utf8mb4, but mysql.proc table has "utf8mb3" as hardcoded, so it crashes with corrupted table. Fix: Changed Table_check_intact::check() definition to allow both utf8mb3 and utf8mb4 by checking prefix and changing the upgrade scripts to explicitly use utf8mb3
This commit is contained in:
@@ -47,7 +47,7 @@ PREPARE stmt FROM @str;
|
||||
EXECUTE stmt;
|
||||
DROP PREPARE stmt;
|
||||
|
||||
SET @cmd= "CREATE DATABASE performance_schema character set utf8";
|
||||
SET @cmd= "CREATE DATABASE performance_schema character set utf8mb3";
|
||||
|
||||
SET @str = IF(@broken_pfs = 0, @cmd, 'SET @dummy = 0');
|
||||
PREPARE stmt FROM @str;
|
||||
|
Reference in New Issue
Block a user