mysql5.7.22以上版本忘记密码时这样找回

1.关闭mysql服务

#service mysql stop

2.

找到mysql安装路径找到 my.ini(一般linux系统在/etc/my.ini) 打开在 [mysqld] 下添加 skip-grant-tables 跳过密码校验

3.

#service mysql start 启动mysql

登陆mysql

#mysql -uroot -p  (这里root为密码,也可随便输入)

4.进入MySQL 改密码

mysql> update mysql.user set authentication_string=password('new123456') where user='root' and Host = 'localhost';

new123456就成了新密码

mysql>exit 退出mysql


*特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
(若不成功,则重复步骤3
以root权限登录mysql:(这里我的账户是root,密码也是root)
mysql -uroot -proot
然后更改密码:
SET PASSWORD = PASSWORD('root');)

5.记得把my.ini中的 skip-grant-tables 去掉否则谁都可以登陆我们的数据库了