背景:上个学期有门课(软件测试)禁用了mysql服务,现在需要使用的时候,发现密码登不上去了
系统:Win10
数据库版本:mysql8.0.11
我学艺不精,讲得有点啰嗦,且没搞懂原理,方法全部参考其他博主,已注明
省流:
-启动mysql服务(net start mysql)(失败)
-备份数据,初始化mysql(mysqld --initialize)
-再次启动mysql服务(成功)
-data下错误日志找密码
-登录
当我尝试登录时报错:
然后我想起应该是数据库没启动服务,遂win+R->services.msc->找到mysql服务->右键属性->改成自动->应用->确认->出来后右键手动启动,但是报错:
本地计算机上的 mysql 服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止。
然后还在cmd尝试了net start mysql,提示报错:
于是上网搜错误原因,按照教程把data目录下的ib_buffer_pool等数据备份后删除,初始化mysql,还是没用。最后看了这位博主initialize specified but the data directory has files in it. Aborting 错误解决_--initialize specified but the data directory has -CSDN博客把data下的东西清空了(P.S.最好把data备份一下),cmd重新输入
mysqld --initialize
net start mysql
mysql服务启动成功。
但是还是登录不了root,依然报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)。解决方法:
找到Data下的err文件(文件名是用户名,每个人不一样),编辑查找password,后面那串就是密码,登录的时候输入就好了。
(但是为什么我的密码会自己变成乱码啊啊啊啊??难道因为我初始化了??可是我初始化之前我的密码就用不了了??)
若无用,其他方法参考(这个博主讲得超级细!):MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)无法打开的解决方法_access denied for user 'root'@'localhost' (using p-CSDN博客
登录后需要重置密码(参考https://www.cnblogs.com/youcong/p/10786355.html):
alter user 'root'@'localhost' identified by 'youpassword';