目录
- 步骤
- 1、停止mysql服务
- 2、使用命令行启动mysql服务,跳过密码验证
- 3、密码置空
- 4、关闭命令行启动的mysql服务并正常启动
- 5、修改root密码
- 参考
步骤
1、停止mysql服务
以管理员身份打开终端,输入指令net stop mysql
停止MySQL服务,停止服务之后不要删后面还有用。
2、使用命令行启动mysql服务,跳过密码验证
再次输入mysqld --console --skip-grant-tables --shared-memory
跳过密码验证登录,前面的终端那不要关再打开一个新的管理员终端输入mysql -u root -p
这时直接回车就行了
下面的是以管理员方式打开的另一个窗口。
3、密码置空
输入两段命令使密码置空
use mysql
update user set authentication_string='' where user='root';
修改完后,使用quit
退出,这里窗口不要关。
4、关闭命令行启动的mysql服务并正常启动
这时就可以关掉以mysqld --console --skip-grant-tables --shared-memory
启动的管理员终端了。并使用net start mysql
正常重启mysql服务。
5、修改root密码
这时输入mysql -u root -p
回车就能进去了,因为密码已经置空所以不需要密码。
输入ALTER USER 'root'@'%' IDENTIFIED BY '新密码';
设置新密码,并刷新flush privileges;
。
参考
-
Windows:解决MySQL登录ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor=YES)问题
-
MySQL修改密码报错ERROR 1396 (HY000): Operation ALTER USER failed for ‘root‘@‘localhost‘