MySQL 8.0 以上版本忘记root密码了,怎么办

  1. 管理员身份运行 powershell,使用命令停止MySQL服务:
PS D:\AZ\mysql-8.0.18-winx64\bin> net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。
  1. 然后进入安装的 mysql 的 bin 目录下,如 D:\Software\mysql-8.0.18-winx64\bin, 执行 mysqld --console --skip-grant-tables --shared-memory注意不要关掉此窗口 (窗口1)
PS D:\AZ\mysql-8.0.18-winx64\bin> cd D:\AZ\mysql-8.0.18-winx64\bin
PS D:\AZ\mysql-8.0.18-winx64\bin> mysqld --console --skip-grant-tables --shared-memory
  1. 同样在bin目录下,新开一个管理员权限 powershell 窗口(窗口2),执行下面两句话
PS D:\Software\mysql-8.0.18-winx64\bin> mysql

mysql> use mysql

  1. 先将密码设置成空
update mysql.user set authentication_string="" where user="root";
flush privileges;
  1. 再修改密码并退出 mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
quit
  1. 关闭掉步骤2的那个命令窗口(窗口1),在当前 窗口2 中执行命令 net start mysql 启动服务,然后用新密码登录
mysql> quit
Bye
PS D:\Software\mysql-8.0.18-winx64\bin> net start mysql
PS D:\Software\mysql-8.0.18-winx64\bin> mysql -u root -p
Enter password: ******
......
mysql>

posted @ 2020-07-14 15:50  wztshine  阅读(2770)  评论(7编辑  收藏  举报