Bug #76655 mysql.user password column missing in 5.7.7
Submitted: 10 Apr 2015 9:45 Modified: 10 Apr 2015 11:49
Reporter: Oli Sennhauser Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.7.7-RC OS:Any (n.a.)
Assigned to: CPU Architecture:Any
Tags: mysql.user, password

[10 Apr 2015 9:45] Oli Sennhauser
Description:
In MySQL 5.7.7-RC the password column is missing in the mysql.user table (after installation and probably also after mysql_upgrade).

This is a serious backward compatibility break which will possibly make several tools NOT work any more.

How to repeat:
esc mysql.user;
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field                  | Type                              | Null | Key | Default               | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host                   | char(60)                          | NO   | PRI |                       |       |
| User                   | char(16)                          | NO   | PRI |                       |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N                     |       |

Suggested fix:
set the password column to char(0) for example or just empty it or ignore it for the future to NOT break backward compatibility!
[10 Apr 2015 10:51] Tsubasa Tanaka
I can see it `authentication_scting` column.

mysql57> SELECT user, host, authentication_string FROM mysql.user WHERE user= 'test';
+------+-----------+-------------------------------------------+
| user | host      | authentication_string                     |
+------+-----------+-------------------------------------------+
| test | localhost | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)

This change is introduced by 5.7.6.
http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html
[10 Apr 2015 10:58] MySQL Verification Team
Hello Oli Sennhauser,

Thank you for the report.
Please note that the Password column was removed in MySQL 5.7.6 and now all credentials are stored in the authentication_string column.
This is documented in "https://dev.mysql.com/doc/refman/5.7/en/grant-table-structure.html"

Also, this was explained in the Changes in MySQL 5.7.6 section of manual in - http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html

Also, in upgrade section http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html

Thanks,
Umesh
[10 Apr 2015 11:49] Oli Sennhauser
Hi Umesh,

I know. So you want to tell me, that Oracle/MySQL does NOT care about backwards compatibility? Is that what I have to learn from it?

Regards,
Oli