今天新安装了mysql8.0 ,也是特别坑,明明测试能通过连接,服务启动之后就是登不进去,也不知道是忘记了还是咋的,一直报
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
网上看了很多解决方法,很多的都是之前的解决办法,在新的版本中根本没有起作用,后面看了几个博客综合起来才解决了,记录一下。
第一步:关闭服务 net stop mysql 这个需要在管理员权限才行 ,具体怎么用管理员打开cmd略过
第二步:进入到安装的bin目录 执行 :mysqld --console --skip-grant-tables --shared-memory
这一步这些输出需要时这些,如果这一步有错误,需要自行处理掉 ,这个窗口执行完之后不要关闭,重新起一个新的cmd窗口
第三步:启动一个新的cmd窗口 执行 mysql -uroot -p 就能免密进入
第四部修改密码:
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了