MySQL 未知列“password_last_changed”

Amm*_*rah 4 mysql mysql-workbench

使用此命令创建用户时

create user 'foo'@localhost';
Run Code Online (Sandbox Code Playgroud)

显示此错误

ERROR 1054 (42S22): Unknown column 'password_last_changed' in 'mysql.user'
Run Code Online (Sandbox Code Playgroud)

使用 MySQL 服务器版本:Linux 上的 5.7.6

我试图添加它,但我不知道它的数据类型 我该如何解决这个问题

jyn*_*nus 6

5.7.6 发行说明

如果从较早版本升级到此版本的 MySQL,则必须运行 mysql_upgrade(并重新启动服务器)以将更改合并到 mysql 数据库。mysql_upgrade 将 Password 列值移动到 authentication_string 列并删除 Password 列。对于没有 account_locked 列的非升级安装,服务器将所有帐户视为已解锁,并尝试锁定或解锁帐户会产生错误。

虽然每次升级你都会发现类似的问题,所以运行这个工具是必须的。password_last_change已在 5.7.4 中添加,因此您必须更新表定义。

请注意,当时支持从 5.6 升级,但在编写这些行时不支持从 5.5 升级,因此如果您直接从 5.5 或更低版本升级,您可能会发现问题。