第一步:在命令行输入net stop mysql命令关闭mysql服务
第二步:使用--skip-grant-tables选项启动mysql服务(服务器将不加载权限判断,任何用户 都能访问数据库)
在命令行输入 mysqld --shared-memory --skip-grant-tables
命令运行之后,用户无法再输入指令,此时如果在任务管理器中可以看到名称为 mysqld的进程,则表示可以用root用户 登录服务器了
第三步:打开另一个命令行窗口,输入不加密码的登录命令
mysql -u root
登录成功后可以使用update语句修改密码
修改完成后,必须使用flush privileges语句刷新权限表,这样新的密码才能生效
第四步:将输入mysqld --skip-grant-tables命令的命令行窗口关闭,接下来就可以使用新密码登录mysql服务器了
mysql> USE mysql;
Database changed
mysql> UPDATE user SET authentication_string="123456" WHERE user="root";
Query OK, 1 row affected (0.39 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH privileges; # 刷新保存
Query OK, 0 rows affected (0.13 sec)