1.通过管理员打开cmd终端:输入net stop mysql关闭 mysql服务。
2.切盘D::再切到mysql的安装路径:输入
cd D:\mysql-5.6.44-winx64\bin
3.输入命令:输入
mysqld --console --skip-grant-tables --shared-memory
4.打开另外一个cmd终端(可以用管理员方式打开)
5.切盘:输入 D: 再切到mysql的安装路径:输入
cd D:\mysql-5.6.44-winx64\bin
6.输入 mysql
7设置密码:输入
set password for root@localhost='123456';
但是会报错,这里需要输入明文密码的十六进制码,我们可以通过下一步转换
8.输入:select password('这里面输入你的明文密码')
系统会返回*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
9.刷新:输入 flush privileges;
10.将十六进制码作为密码设置,输入:
set password for root@localhost='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9';
11.关闭mysql,输入 exit
12. 输入管理员登录命令: mysql -u root -p
输入密码:123456
以上虽然可以修改密码,但是我发现利用管理员登录mysql时不输入密码直接回车也可以登录,解决方法如下:
1.通过管理员打开命令窗口cmd,输入命令:net stop mysql,停止MySQL服务
2.开启跳过密码验证登录的MySQL服务
mysqld --console --skip-grant-tables --shared-memory
3.再打开一个新的cmd,无密码登录MySQL,输入登录命令:mysql -u root -p
密码置为空,命令如下:
use mysql
update user set authentication_string='' where user='root';
4.关闭以-console --skip-grant-tables --shared-memory 启动的MySQL服务终端
5.打开命令框,输入:net start mysql 启动MySQL服务
密码已经置空,所以无密码状态登录MySQL,输入登录命令:mysql -u root -p
此时需要你输入之前设置好的密码(直接回车会拒绝登录)