解决MySQL5.7在MAC下登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)问题

问题描述

今天在MAC上安装完MYSQL后,MYSQL默认给分配了一个默认密码,但当自己在终端上使用默认密码登录的时候,总会提示一个授权失败的错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

image.png-24.7kB

解决方案:

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

image.png-136kB

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

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

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

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

image.png-60.8kB
之后边可以以安全模式进入数据库了。

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

 $ mysql -u -root

然后便会发现你不需要密码就进入数据库了。
image.png-66.5kB

4. 修改密码,输入以下命令

 $ update mysql.user set authentication_string=password('123456') where user=‘root';flush privileges;

image.png-38.7kB

5、然后输入exit,再重新登入,输入新密码就可以登录成功了
image.png-97.6kB

posted @ 2018-12-10 19:06  Eve0803  阅读(6193)  评论(0编辑  收藏  举报