MySQL未知列'password_last_changed'
Posted
技术标签:
【中文标题】MySQL未知列\'password_last_changed\'【英文标题】:MySQL unknown column 'password_last_changed'MySQL未知列'password_last_changed' 【发布时间】:2015-06-09 21:37:11 【问题描述】:使用此命令创建用户时:
create user 'foo'@localhost';
显示此错误:
错误 1054 (42S22):“mysql.user”中的未知列“password_last_changed”
使用 MySQL 服务器版本:5.7.6
我尝试添加它,但我不知道它的数据类型 我该如何解决这个问题?
【问题讨论】:
看起来很奇怪,如果/因为它是由CREATE USER
触发的。也许在 DBA 堆栈上尝试一下。 (默认数据库架构本身会不会导致迁移/更新失败?)
dev.mysql.com/doc/refman/5.7/en/mysql-upgrade.html
【参考方案1】:
显然您将 MySQL 从早期版本升级到了 5.7。
列 'password_last_changed' 曾经存在于 MySQL
如果是这种情况,您必须运行“mysql_upgrade”脚本将一些表从旧版本迁移到新版本。
运行
mysql_upgrade -u root -p
并输入您的 root 密码。
那么你的问题应该解决了
【讨论】:
喜欢你的回答,但我不需要重新启动服务器,我想我还没有遇到任何问题.. Windows系统请关注serverfault.com/a/538573/127106定位mysql_upgrade.exe
。
我删除了重启服务器步骤,发现它不是真的需要
不错。我只会添加您以重新启动您的 MySql 服务器,因此您确定包含更改,sudo service mysql restart
。看看Ask Ubuntu Discussion以上是关于MySQL未知列'password_last_changed'的主要内容,如果未能解决你的问题,请参考以下文章
#1054 - MySQL 中“where 子句”中的未知列“proximite”