1.管理员模式打开命令行
2.停止mysql服务
net stop ‘mysql服务名字’
3.运行
mysqld --console --skip-grant-tables --shared-memory
出现这个即为成功
3.另开启一个命令行
net start ‘mysql 服务器名字’
4.现在可以直接不用输密码直接进入
mysql -h localhost -u root -p
5.在mysqsl表中修改密码为空
use mysql;
update user set authentication_string='' where user='root';
6.刷新权限
flush privileges;
7.修改密码
alter user ‘root’ @’local’ identified by ‘新设置的密码’;
8.退出mysql,CTRL+C关闭第一个命令行,后重启服务,验证是否能登陆;
9.如果能登陆,那问题已经解决,就此结束;
10.如果不能
命令行输入: services.msc
找到mysql服务:
如果上图的可执行文件的路径与程序执行路径不同,例如:
这里在另一个文件夹也有一个MySQL Server 8.0文件夹,并且上面的可执行文件的路径也引用了这里的my.ini文件
我们现在则需要在命令行输入: mysqld -remove ‘mysql服务名称’;
再输入: mysql -install mysql;
如果我们不需要之前的数据, 到这里我们就可以无密码进入mysql了, mysql -u root -p 即可进入
如果需要保留之前的数据, 那么把有my.ini文件夹的Data数据文件复制粘贴到mysql源文件夹:
覆盖这里的data文件夹;
之后再重复上面的1-9步的步骤;
如果后面还有问题,那我也没有办法了;