← Back to team overview

maria-developers team mailing list archive

Re: [Commits] 514b557: MDEV-11170: MariaDB 10.2 cannot start on MySQL 5.7 datadir:

 

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@xxxxxxxxxxx