首页 >数据库 >mysql教程 >为什么我的 MySQL 5.7 Root 密码更新失败并显示'\'字段列表\'\ 中的未知列\'密码\'”?

为什么我的 MySQL 5.7 Root 密码更新失败并显示'\'字段列表\'\ 中的未知列\'密码\'”?

Barbara Streisand
Barbara Streisand原创
2024-12-03 13:49:11789浏览

Why is My MySQL 5.7 Root Password Update Failing with

MySQL 用户数据库缺少密码列

问题:

尝试更新 MySQL 时root密码,出现错误信息“Unknown column 'password' in 'field list'”,提示user 表中不存在密码列。

说明:

在 MySQL 5.7 中,mysql.user 表中的密码列已被删除,并且身份验证详细信息现在存储在“authentication_string”中

解决方案:

  1. 以root用户连接MySQL数据库:
mysql -u root
  1. 选择MySQL数据库:
USE mysql;
  1. 验证用户表是否存在:
SHOW TABLES;
  1. 检查用户表结构:
DESCRIBE user;
  1. 您会注意到“密码”栏缺失,由“authentication_string”列替换。
  2. 使用“authentication_string”列更新 root 用户的密码:
UPDATE user SET authentication_string = PASSWORD('1111') WHERE user = 'root';

附加说明:

  • MySQL 5.7 与之前相比引入了重大变化
  • 有关 MySQL 5.7 更新的更多信息,请参阅官方文档:[What's New in MySQL 5.7](https://dev.mysql.com/doc/refman/5.7/en/whats -new-in-5-7.html)

以上是为什么我的 MySQL 5.7 Root 密码更新失败并显示'\'字段列表\'\ 中的未知列\'密码\'”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn