+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

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; ``` 操作完以上步骤,就可以用新密码登录了。
我的笔记