前提检查bin目录下没有Data文件夹 需要执行 mysql --initialize 生成(不好用的删除重新生成一个)
今天新安装了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 就能免密进入
第四部修改密码:
use mysql
update user set authentication_string=’’ where user=‘root’ 如果这个字段有值,先置为空
flush privileges 刷新权限表
4.ALTER user ‘root’@‘%’ IDENTIFIED BY ‘123456’ 修改root 密码
默认情况下root用户只允许本机访问,即使用localhost访问,如下图:
解决方案:将root用户对用的host改为 '%',即允许所有IP访问,然后刷新即可.
3.问题解决具体步骤
1.命令窗口登录mysql
mysql -uroot -padmin
2.连接到mysql(数据库名)
use mysql;
3.修改表user的值
update user set host = '%' where user = 'root';
4.刷新配置
flush privileges;
网友评论