Mysql 5.7 忘记root密码或重置密码的详细方法

时间:2022-08-27 15:15:26

在Centos中安装完MySQL数据库以后,不知道密码,这可怎么办,下面给大家说一下怎么重置密码

1、修改配置文件my.cnf 按i编辑

?
1
[root@iZ2ze14tbj23jllo85kuh1Z ~]# vim /etc/my.cnf

在[mysqld]中添加

?
1
skip-grant-tables

例如:

?
1
2
3
4
[mysqld]
**skip-grant-tables**
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

键盘 Esc 保存修改  :wq退出

2、重启mysql服务

?
1
service mysqld restart

3、用户登录

?
1
mysql -uroot -p (直接点击回车,密码为空)

选择数据库

?
1
use mysql;

下面我们就要修改密码了

以前的版本我们用的是以下修改

?
1
update user set password=password('root') where user='root';

但是在5.7版本中不存在password字段,所有我们要用以下修改进行重置密码

?
1
update user set authentication_string=password('123456') where user='root';

执行

?
1
flush privileges;

4、退出mysql

?
1
quit;

5、将最开始修改的配置文件my.cnf中的skip-grant-tables删除

6、重启mysql

7、当你登陆mysql之后你会发现,当你执行命令时会出现

?
1
ERROR 1820 (HY000): You must reset your password using ALTER USER statement;

这是提示你需要修改密码

当你执行了

?
1
SET PASSWORD = PASSWORD('123456');

如果执行成功后面的就不要看了,纯属浪费时间!

如果出现:

?
1
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

你需要执行两个参数来把mysql默认的密码强度的取消了才行

?
1
set global validate_password_policy=0; set global validate_password_mixed_case_count=2;

这时你再执行

?
1
SET PASSWORD = PASSWORD('123456');

以上所述是小编给大家介绍的Mysql 5.7 忘记密码或重置密码的详细方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/sun614345456/article/details/53672426