步骤 1):关闭 MySQL 服务。
步骤 2):打开 cmd 进入 MySQL 的 bin 目录。
步骤 3):输入mysqld --console --skip-grant-tables --shared-memory
命令。–skip-grant-tables 会让 MySQL 服务器跳过验证步骤,允许所有用户以匿名的方式,无需做密码验证就可以直接登录 MySQL 服务器,并且拥有所有的操作权限。
步骤 4):上一个 DOS 窗口不要关闭,打开一个新的 DOS 窗口,此时仅输入 mysql 命令,不需要用户名和密码,即可连接到 MySQL。
步骤 5):输入命令update mysql.user set authentication_string=password('root') where user='root' and Host ='localhost';
设置新密码。
注:如果使用 update mysql.user set password('root') where user='root'; 会报错,因为MySQL 5.7 版本中的 user 表里已经去掉了 password 字段,改为了 authentication_string。
步骤 6):刷新权限(必须步骤),输入flush privileges;
命令。
步骤 7):因为之前使用 --skip-grant-tables 启动,所以现在需要重启 MySQL 服务器。输入quit;
命令。
步骤 8):关闭步骤 3)的 DOS 窗口,重启 MySQL 服务。
步骤 9):输入mysql -u root -p
,使用新密码来登录。
参考网址
http://c.biancheng.net/view/7156.html
https://blog.csdn.net/greywolf0824/article/details/80215199
https://cloud.tencent.com/developer/article/1795275
https://blog.csdn.net/psh1234/article/details/52425175
https://blog.csdn.net/qq_20757489/article/details/87868633