问题描述:
我在照着尚硅谷教程安装MySQL,按照教程安装完成后,启动了MySQL80,在终端进行用户登录的时候出现的问题:ERROR 1045 (28000): access denied for user 'root'@'localhost' (using password: YES)。这个问题等价于忘记了MySQL的密码,想要修改为新的密码。
根本原因:
我安装的版本是MySQL8.0.26,而网上的很多教程是基于MySQL5.7的,而这种方法在MySQL8.0并不适用。因此需要新的方法。
报错:
试错及解决过程:
在网上搜索:
error 1045 (28000): access denied for user 'root'@'localhost' (using password: yes)
找了一篇写的比较好的:
MySQL:ERROR 1045 (28000)详解 - 知乎 (zhihu.com)
按照上述所说的修改之后,会发现重启不了MySQL80,更准确地说是重启之后在1秒之内就会关闭。
就是上述界面,点击启动之后,会在1秒之内又自动切成“停止”。
而无法启动数据库就更无法进入数据库了。
之后我在网上搜索
找到一篇比较好的博客
mysql8.0之后mysqld --skip-grant-tables无效,无法启动服务问题_qq_41600027的博客-CSDN博客
原来是mySQL8.0之后不能用上述的方法,也可以看到,之前知乎那篇是mysql57
照着做,可以得到
但是这一篇对如何修改密码讲的不够清楚,因此我又搜索
这一篇讲得还不错
MySQL修改root用户密码_mysql改密码_折竹丶的博客-CSDN博客
我之前已经相当于完成了第一步和第二步,因此从第三步开始即可。
先是再开一个终端,输入mysql -uroot -p回车,然后再回车
之后use mysql,然后就是照着教程复制粘贴过去
之后重启mysql服务,再开一个终端,用新密码123456登录
登录成功。
这是尚硅谷给出的解决方案,写的太简略了,根本看不懂。所以还是要根据上述的流程更详细。