mysql8.0忘记密码
- 首先 注意使用管理员模式 启动cmd,关闭mysql
//切换磁盘
D:
//到安装目录下
cd D:\Download\mysql-8.0.25-winx64\bin
// 停止mysql服务
net stop mysql
- 启动安全模式的MySQL
mysqld --console --skip-grant-tables --shared-memory
- 保证第一个管理员模式的窗口停留,查看窗口是否有正常的日志,确保命令运行正确;新开一个管理员模式的cmd
//提示输入密码时直接回车
mysql -u root -p
//查看root用户对应的host名称是否为%
use mysql;
select user,host from user;
//如果不是,可以修改
update user set host = '%' where host = 'localhost' and user = 'root';
//刷新一哈
flush privileges;
//8.0对密码有严格要求,不可过于简单
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'MyPass@123';
容易踩坑:
- 8.0执行
mysqld --console --skip-grant-tables --shared-memory
,如果执行低版本的命令mysqld --skip-grant-tables
不报错但是一段时间之后自动退出,没有日志; - 8.0版本对密码要求比较严格,否则报错
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%