首页 > 数据库 > mysql教程 > 为什么 MySQL 5.7 `user` 表中没有 `password` 列?

为什么 MySQL 5.7 `user` 表中没有 `password` 列?

Mary-Kate Olsen
发布: 2024-11-28 21:48:11
原创
896 人浏览过

Why is there no `password` column in the MySQL 5.7 `user` table?

MySQL 用户数据库在 MySQL 5.7 中没有密码列

在尝试修改 MySQL 中的 root 密码时,您可能会遇到一条错误消息,指出用户表的密码栏未知。不过,这个异常并不是一个 bug。

了解 MySQL 5.7 中的变化

在 MySQL 5.7 中,user 表中的密码字段已重命名为authentication_string。此更改反映了密码管理的转变,以提高安全性。

验证和解决方案

要确认这一点并解决问题:

  1. 选择 mysql数据库:

    mysql> use mysql;
    登录后复制
  2. 显示表:

    mysql> show tables;
    登录后复制
  3. 描述用户表的结构:

    mysql> describe user;
    登录后复制
  4. 您会注意到缺少password 字段,但存在 authentication_string 字段。

要修改密码,只需执行以下命令,将 1111 替换为您想要的密码:

update user set authentication_string=password('1111') where user='root';
登录后复制

MySQL 中的其他更改5.7

除了密码列更改之外,MySQL 5.7 还引入了其他重大增强功能。有关这些更改的全面概述,请参阅文档:[MySQL 5.7 中的新增功能](https://dev.mysql.com/doc/refman/5.7/en/news-5-7.html)

以上是为什么 MySQL 5.7 `user` 表中没有 `password` 列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板