Bug #46526 Incompatible tables between 5.1 and 5.4
Submitted: 3 Aug 2009 10:24 Modified: 11 Aug 2009 16:04
Reporter: Lars Thalmann Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Backup Severity:S3 (Non-critical)
Version:5.4 OS:Any
Assigned to: Assigned Account CPU Architecture:Any

[3 Aug 2009 10:24] Lars Thalmann
Description:
mysql database has some changes in 5.4.
For example mysql.db.Restore_priv.

Example:
pgulutzan@linux-kpip:~/data1/mysql-azalea> libexec/mysqld
090729 14:05:06 [ERROR] Column count of mysql.db is wrong. Expected 24, found 22. Created with MySQL
50138, now running 50404. Please use mysql_upgrade to fix this error.

And mysql_upgrade doesn't work.

How to repeat:
See above.

Suggested fix:
Make mysql_upgrade work.
[4 Aug 2009 18:51] Peter Gulutzan
I'll try to be more specific about what "mysql_upgrade doesn't work" means,
in my own experience. I have SUSE 11 64-bit, x86, 5.1.38-debug from mysql-5.1
source, and 5.4.4-alpha-debug from mysql-azalea source.
With mysql-5.1, with an empty datadir, I say: mysql_install_db.
With mysql-azalea, with an empty datadir, I use 'cp -R' to copy all
files from mysql-5.1/(datadir) to mysql-azalea/(datadir).
With mysql-azalea, I start mysqld. I see this message:
"
...
090804 12:42:49 [ERROR] Column count of mysql.db is wrong.
Expected 24, found 22. Created with MySQL 50138, now running 50404.
Please use mysql_upgrade to fix this error.
...
"
Still leaving the mysql-azalea server up, I say: mysql_upgrade.
I see these messages:
"
...
Running 'mysql_fix_privilege_tables'...
ERROR 1064 (42000) at line 31: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14), Table_priv set('Select','Insert','Update','Delete','Create','Drop','Grant'' at line 1
ERROR 1064 (42000) at line 33: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14), Column_priv set('Select','Insert','Update','References') COLLATE utf8_gene' at line 1
ERROR 1064 (42000) at line 65: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14), PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor' at line 1
ERROR 1064 (42000) at line 431: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(14) AFTER Proc_priv' at line 2
FATAL ERROR: Upgrade failed
"
[5 Aug 2009 6:31] Sveta Smirnova
See also bug #46427
[11 Aug 2009 16:04] Sveta Smirnova
Thank you for the report.

This is really duplicate of bug #46427. Patch to bug #46427 reverts changes in 5.4, so this should not be repeatable in feature versions.