MySQL 忘记密码,重置密码

1.重置密码的第一步就是跳过MySQL的密码认证过程。

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
#skip-grant-tables 重置密码,这里是跳过登录的设置。之后操作,修改完my.ini文件需要重启mysql服务。
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:mysql-5.7.32-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\web\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

2.接下来就是用sql来修改root的密码

mysql> use mysql;

mysql> update user set password=password("你的新密码") where user="root";

mysql> flush privileges;

mysql> quit

到这里root账户就已经重置成新的密码了。

3.编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。

4、新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user  set password=password('root') where user='root'时提示ERROR 1054 (42S22): Unknown column 'password' in 'field list',原来是mysql数据库下已经没有password这个字段了,password字段改成了

authentication_string

所以更改语句替换为updateMySQL.user set authentication_string=password('root') where user='root' ;即可

原文地址:https://www.cnblogs.com/yinmu/p/14708694.html