[MDEV-4950] mysql_upgrade fails with disabled InnoDB Created: 2013-08-26  Updated: 2013-09-13  Resolved: 2013-09-13

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.0.4
Fix Version/s: 10.0.5

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergey Vojtovich
Resolution: Fixed Votes: 0
Labels: None

Attachments: Text File mdev-4950.patch    

 Description   

Initially reported at https://blog.mariadb.org/mariadb-10-0-4-alpha-now-available/

If server is started without InnoDB on an old datadir, mysql_upgrade fails with

Phase 3/3: Running 'mysql_fix_privilege_tables'...
ERROR 1286 (42000) at line 37: Unknown storage engine 'INNODB'
ERROR 1286 (42000) at line 46: Unknown storage engine 'INNODB'
FATAL ERROR: Upgrade failed

scripts/mysql_fix_privilege_tables.sql sets NO_ENGINE_SUBSTITUTION and then attempts to create tables using InnoDB engine, so the error is not surprising.

MySQL 5.6.13 has additional logic that checks for the presence of InnoDB and skips table creation if there is no InnoDB. However, it should be adopted with caution, because it also has a problem, later it attempts to ALTER the tables unconditionally, so mysql_upgrade fails anyway (see http://bugs.mysql.com/bug.php?id=70152).

As discussed, we should not create the tables if InnoDB is disabled (and should not attempt ALTERing them). mysql_upgrade should not fail, but it might make sense to produce a warning.



 Comments   
Comment by Sergey Vojtovich [ 2013-09-13 ]

Sergei, please review attached patch.

Comment by Sergei Golubchik [ 2013-09-13 ]

looks ok

Comment by Sergey Vojtovich [ 2013-09-13 ]

Fixed in 10.0.5, revision-id: svoj@mariadb.org-20130913084451-fu9eht7jpouid00w

Generated at Thu Feb 08 07:00:30 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.