Hi, Vicentiu! I think mariadb should support 5.7 user table (without the password column) without any errors. That shouldn't be too difficult, just detect at run-time whether the column "Password" exists and adjust all other column numbers accordingly. On Dec 12, Vicentiu wrote:
revision-id: 514b557d066fcd1a90ccbbcdbaf5fa5fe65311eb (mariadb-10.2.2-138-g514b557) parent(s): 9320d8ae30c18420bef659618175836221d363ea author: Vicențiu Ciorbaru committer: Vicențiu Ciorbaru timestamp: 2016-12-12 04:26:27 +0200 message:
MDEV-11170: MariaDB 10.2 cannot start on MySQL 5.7 datadir:
Fatal error: mysql.user table is damaged or in unsupported 3.20 format
The problem stems from MySQL 5.7.6. According to MySQL documentation: In MySQL 5.7.6, the Password column was removed and all credentials are stored in the authentication_string column.
If opening a MySQL 5.7.6 (and up) datadir with MariaDB 10.2, the user table appears corrupted. In order to fix this, the server must be started with --skip-grant-tables and then a subsequent mysql_upgrade command must be issued.
This patch updates the mysql_upgrade command to also add the removed Password column. The password column is necessary, otherwise the mysql_upgrade script fails due to the Event_scheduler not being able to start, as it can't find Event_priv in the table where it ought to be. MySQL's version has column position 28 (0 index) vs our datadir version expects position 29.
--- scripts/mysql_system_tables_fix.sql | 6 ++++++ 1 file changed, 6 insertions(+)
Regards, Sergei Chief Architect MariaDB and security@mariadb.org