今天新安装了mysql8.0 ,也是特别坑,明明测试能通过连接,服务启动之后就是登不进去,也不知道是忘记了还是咋的,一直报

 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

网上看了很多解决方法,很多的都是之前的解决办法,在新的版本中根本没有起作用,后面看了几个博客综合起来才解决了,记录一下。

第一步:关闭服务   net stop mysql   这个需要在管理员权限才行 ,具体怎么用管理员打开cmd略过

MySQL8.0.忘记密码解决报 ERROR 1045 (28000)_mysql

第二步:进入到安装的bin目录 执行 :mysqld --console --skip-grant-tables --shared-memory

MySQL8.0.忘记密码解决报 ERROR 1045 (28000)_mysql_02

这一步这些输出需要时这些,如果这一步有错误,需要自行处理掉 ,这个窗口执行完之后不要关闭,重新起一个新的cmd窗口

第三步:启动一个新的cmd窗口   执行   mysql -uroot -p    就能免密进入

MySQL8.0.忘记密码解决报 ERROR 1045 (28000)_ide_03

第四部修改密码:

   1.  use mysql 

   2. update user set authentication_string='' where user='root'      如果这个字段有值,先置为空

   3. flush privileges     刷新权限表

   4.ALTER user 'root'@'localhost' IDENTIFIED BY 'Tianya1234'     修改root 密码

就OK了