数据库 MySQL8.0 忘记密码后,重置修改密码的方法,和MySQL以前版本有所不同。

数据库MySQL8.0忘记密码怎么办?
MySQL8.0重置密码的过程和以前版本有所不同,具体过程我们下面详细解说。
以centos系统的MySQL8.0为例说明,如果windows系统找到MySQL配置文件my.ini进行修改,也是可以的。
1、找到mysql的配置文件:/etc/my.cnf,打开并增加一行,用于跳过登录验证:

skip-grant-tables

如下图位置:

2、重启MYSQL,可以用如下命令:

systemctl restart mysqld.service

一定要确保启动完成。也可以分开停止和启动:

systemctl stop mysqld.service
systemctl start mysqld.service

3、登录MySQL

mysql -u root

即可登录进来。

4、MySQL8.0以前版本,我们都是这样直接改密码:

mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "newpassword";

但是8.0版本里是不允许的,会出错误提示:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

正确的做法是:
进入mysql系统库,并设置验证为空。

mysql> use mysql
Database changed
mysql> update user set authentication_string='' where user='root';

然后退出MYSQL。

5、去掉前面在my.cnf文件里加的那一句 skip-grant-tables,再并重启MySQL。

6、再次登录到系统,这时是没有验证的:

mysql -h localhost -u root

7、登录后,这里再使用修改密码命令就可以了:

mysql> ALTER USER "root"@"localhost" IDENTIFIED BY "newpassword";
展开阅读全文

本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java