记录一下本机登录MySQL时出现ERROR 1045 (28000): Access denied for user 'byf'@'localhost' (using password: YES)报错的解决方法
首先作为新时代农民,当然是面向百度编程,于是找到了大部分的解决方案都是先找到mysqld默认的配置文件my.ini
然后在文件中[mysqld]下面一行加上skip-grant-tables表示在登录MySQL时不进行权限认证
然后重启MySQL服务,输入mysql -u root免密登录,然后修改root用户密码:UPDATE mysql.user SET authentication_string='你的密码' WHERe user='root' and host='localhost';然后退出
把刚才改动的配置文件改回来,再重启服务器。
但是我经过上面一通操作之后发现,配置文件中加入skip-grant-tables后还是不能免密登录。。。下面是解决办法
首先加入配置后不能免密登录的原因是在MySQL8.0中不支持在配置文件中设置skip-grant-tables来跳过权限验证了
所以我们需要停止MySQL服务,然后开启两个powershell
一个powershell用来开启MySQL服务:输入mysqld --console --skip-grant-tables --shared-memory
服务开启之后
在另一个powershell中登录MySQL: mysql -u root
然后修改密码 : UPDATE mysql.user SET authentication_string='你的密码' WHERe user='root' and host='localhost';



