MAC下登录mysql8错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

问题描述
pycharm本地数据库,莫名出现一个错误,总会提示授权失败:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

此时切换到本地数据库,使用之前设置的密码无法进入,提示同样的错误

解决方案:
既然现在没法登录到数据库中,改密码和添加用户等操作也无从谈起。好在MySQL中还提供了一种免去密码校验进入数据库的方法,我们就先使用这种方法登入到数据库中。然后将默认密码替换掉,上面的问题就可以解决掉啦~具体操作如下:

1、打开系统偏好设置,找到mysql,点进去关闭mysql服务。

2、打开一个终端,输入以下命令

$ cd /usr/local/mysql/bin
$ sudo su

输入本机登录密码

然后便可以看到终端命令变成这个开头: sh-3.2#

输入以下命令

$ ./mysqld_safe --skip-grant-tables &

之后边可以以安全模式进入数据库了。

3、现在打开一个新的终端 ,输入以下命令:

$ mysql -u -root

然后不需要密码就进入数据库了。

4. 修改密码

先切换到 mysql 库

mysql> use mysql;

修改root账户密码。注意,此时需要将root账户密码置空,不能使用8.0版本之前的方法直接修改密码,之前的方法在8.0版本上会报错

输入如下命令置空root账户密码

mysql> update user set authentication_string='' where user='root';

此时不要使用 alter 来修改密码,会报错

5,退出登录

mysql> exit

6,重新登录mysql

$ mysql -u root -p

此时不需要输入密码,直接回车即可

7,重置root密码

进入mysql库

mysql> use mysql;

重置密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

然后刷新权限

flush privileges;

然后退出,就可以用新密码登录了

 

posted @ 2020-10-15 14:17  乱炖er  阅读(1077)  评论(0编辑  收藏  举报