MySQL5.7修改密码执行报错:ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘

发布于:2022-12-05 ⋅ 阅读:(533) ⋅ 点赞:(0)

在这里插入图片描述

一、问题描述

安装好mysql5.7后准备修改密码,命令为:

mysql> update user set password=password(“新密码”) where user=”用户名”;`

但执行后却报错:

ERROR 1054(42S22) Unknown column 'password' in ‘field list’

错误的原因:

5.7版本下的 m y s q l mysql mysql 数据库下已经没有 p a s s w o r d password password 这个字段了, p a s s w o r d password password 字段改成了 a u t h e n t i c a t i o n s t r i n g authentication_string authenticationstring

二、解决方案

通过执行以下命令来修改密码(知道密码):

\>mysql -u root -p
Enter password: ********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.7.18-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;
Database changed
mysql> select User from user;  #此处为查询用户命令
+-----------+
| User    |
+-----------+
| *******  |
| mysql.sys |
| root    |
+-----------+
3 rows in set (0.00 sec)

mysql> update user set password=password("*******") where user="*******";  #修改密码报错
ERROR 1054 (42S22): Unknown column 'password' in 'field list'
mysql> update mysql.user set authentication_string=password('*******') where user='*******';  #修改密码成功
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

mysql> flush privileges;  #立即生效
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye

n>mysql -u ******* -p #以该用户登录成功.
Enter password: ********
…………………………
mysql>

初次使用 m y s q l mysql mysql 或者忘记密码:

# 使用 vim 命令,跳过输入密码阶段【linux】

# 步骤1,在命令行输入
vim /etc/my.cnf
# 步骤2,在文件中输入[mysqld任意行均可]
skip-grant-tables

补充知识:【有些小伙伴可能对linux命令还不太熟悉】
输入命令后点击i,进入编辑模式。
输入完之后,点击ESC,然后输入“:wq!” 即保存并退出

在这里插入图片描述

修改完文件之后,重启数据库以及输入启动命令即可免密登录

# 重启数据库
service mysqld restart

# 登录数据库[直接回车即可]
mysql -u root -p

在这里插入图片描述

此时,已经可以免密登录,我们可以选择其中一个数据库。如果不知道有哪些数据库,并更改密码,可以输入命令:

# 显示所有数据库
show databases;
# 更改密码

但是可能会有一个问题,如下:

在这里插入图片描述

解决方案:

# 我们只需要刷新即可
flush privileges;

到这里,所有问题都已经解决了!我们可以使用如下命令测试一下:

# 输入命令
mysql -uroot -p
# 输入密码,回车即可

在这里插入图片描述

推荐一款PDF编辑软件神器,界面友好,功能强大,需要者自取。【PDF-Xchange编辑器】

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到