MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list

@[TOC](MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’)
目录

1.进入mysql的bin目录

MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第1张图片

2.net stop mysql

MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第2张图片
有的进入目录后前方的目录不会改变

3.mysqld --skip-grant-tables

输入 mysqld --skip-grant-tables回车。

(–skip-grant-tables 的意思是启动 MySQL 服务的时候跳过权限表认证)

注意:这时候,刚刚打开的 cmd 窗口已经不能使用了。重新再 bin 目录下打开一个新的 cmd 窗口进行下面的操作。
MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第3张图片

4.重新打开一个cmd窗口,输入 mysql 回车。下面是成功后的显示图。

MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第4张图片

5.连接权限数据库:use mysql

MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第5张图片

6.修改数据库连接密码

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

update user set password=password("123456") where user="root";    //注意这里最后的分号一定不能丢
MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第6张图片
执行后报错

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

错误的原因是 5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
update user set set authentication_string=password("123456") where user="root";

7.刷新权限(必须步骤)

flush privileges;(注意分号)
MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第7张图片

8.退出mysql

quit(这里没有分号)
MySQL忘记密码、MySQL初始化密码为空、MySQL改密码、ERROR 1054(42S22) Unknown column password in field list_第8张图片

9.修改root 密码后,需要执行下面的语句和新修改的密码。不然开启 mysql 时会出错。

mysqladmin -u root -p shutdow根据提示输入刚刚修改的密码
如:mysqladmin -u root -p 123456
在这里插入图片描述

10.重启 mysql

使用刚刚更改的密码登录mysql,此时根据密码已经重置成功~
在这里插入图片描述
如果有问题,欢迎大家留言讨论~~一起进步。

你可能感兴趣的:(mysql数据库)