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;
然后退出,就可以用新密码登录了
作者:乱炖er
来源链接:https://www.cnblogs.com/ice5/p/13820306.html
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。