mysql8.0.23忘记密码和重置
centos7-mysql8.0.23
步骤1、修改mysql配置文件
[root@localhost ~]# vi /etc/my.cnf
在底部添加一行
skip-grant-tables
保存退出
重启mysql
[root@localhost ~]# systemctl restart mysqld
步骤2、将root密码置空
[root@localhost ~]# mysql -uroot -p
直接回车
mysql> use mysql
mysql> select host, user, authentication_string, plugin from user;
mysql> update user set authentication_string='' where user='root';
mysql> \q
步骤3、改回mysql配置文件
将步骤1中添加的一行删或注释掉,保存退出,重启mysql.
[root@localhost ~]# vi /etc/my.cnf
#skip-grant-tables
[root@localhost ~]# systemctl restart mysqld
步骤4、修改root密码
[root@localhost ~]# mysql -uroot -p
直接回车
mysql>use mysql
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'MyNewPass4!';
mysql> flush privileges;
完美解决。)
window10,mysql8.0.23
1.管理员打开命令提示符工具,cd到mysql安装目录的bin目录下(设置了环境变量不需要这一步);
2.首先关闭mysql服务:net stop mysql
3.输入:mysqld --shared-memory --skip-grant-tables
4.此时mysql已经启动,另外打开一个命令提示符,运行mysql,输入:mysql
5.可以看到已经进入mysql命令模式,键入:FLUSH PRIVILEGES; 回车,键入:ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';(这时的命令尾需要加分号)然后quit,就可以用新密码登录了。