MySQL 8.0.31重置密码-windows系统

MySQL 8.0.31重置密码-windows系统

# 停止 MySQL 服务
net stop mysql

# 以跳过权限表的方式启动 MySQL,使用 --console 和 --shared-memory 选项
mysqld --console --skip-grant-tables --shared-memory

# 以 root 用户登录 MySQL,会提示输入密码,但直接按 Enter 键继续
mysql -uroot -p

# 使用 mysql 数据库
use mysql;

# 更新 root 用户的 authentication_string 为空
update user set authentication_string='' where user='root';

# 刷新权限表
flush privileges;

# 停止 MySQL 服务
net stop mysql

# 重新启动 MySQL 服务
net start mysql

# 再次使用 mysql 数据库
use mysql;

# 使用 ALTER USER 命令来设置新的 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

!!!!注意这里可能会报错:
ERROR 1449 (HY000): The user specified as a definer (‘mysql.infoschema’@‘localhost’) does not exist


# 刷新权限表
flush privileges;

# 停止 MySQL 服务
net stop mysql

# 重新启动 MySQL 服务
net start mysql

报错解决方案:

ERROR 1449 (HY000): The user specified as a definer (‘mysql.infoschema’@‘localhost’) does not exist

使用绝对路径进行  --upgrade=FORCE,案例:
D:\MYSQL\mysql-8.0.18-winx64\bin>D:\MYSQL\mysql-8.0.18-winx64\bin\mysqld.exe  --upgrade=FORCE
大概一两分钟 ,如果没结束直接ctrl  +c 中断即可  ,此时再重启mysql服务 就可用修复了。

你可能感兴趣的:(mysql,数据库)