在网上找了好多篇帖子,版本不一样用法有点差距,我自己总结了一下现在的版本(MySQL Community Server 8.0.19)
开始了各位,准备好小板凳!!
第一步:关闭正在运行的MySQL服务:net stop mysql或 在windows 任务管理器中结束 mysqld.exe 进程或在 管理工具里面的服务找到 mysql服务 ,将其停止;
第二步:打开命令行,转到你的mysql工作路径的bin目录下;
cd C:\Mysql\mysql-8.0.19-winx64\bin
然后输入以下命令
mysqld --console --skip-grant-tables --shared-memory
注意:网上有很多帖子说mysqld –skip-grant-tables,实测在mysql8.0中已失效,现使用mysqld --console --skip-grant-tables --shared-memory
第三步:再打开一个命令行(因为刚才那个DOS窗口已经不能动了),同样转到mysql的bin目录下;
然后登陆mysql
mysql -u root -p
可能会发现还让你输入密码,但是你随便敲一个都能进入
第四步:切换到mysql表
mysql>USE mysql;
接下来就是改密码的时候了
注意网上有很多输入
update user set password=password('123') where user='root';
但是如今password的列已经更名为authentication_string,但password函数还是原来的password函数
可以通过下面命令具体查看(注意有冒号)
desc user;
第五步:改密码(注意有冒号)
update user set authentication_string=password('123') where user='root';
第六步:刷新权限(注意有冒号)
mysql>FLUSH PRIVILEGES;
大功告成!!