MySQL使用报错1045 - Access denied for user ‘root‘@‘localhost‘ (using password: YES)

问题描述

        设备:MacBook Pro macOS Monterey 12.1

        MySQL版本:8.0.27 arm-64

        描述:在使用Navicat连接电脑本地的数据库时,发现连接不上了,报了个错误1045 - Access denied for user 'root'@'localhost' (using password: YES),起初以为是我密码输错了(因为我太久没用,确实不太记得密码了),后来发现是系统认为MySQL认为安装时提供的密码不安全,让用户重置密码(当然也有其他如密码和权限以及配置认证等原因可能导致可能出现这个报错,不过自己本地电脑一般是这个原因)。如果你也遇到这个问题就请往下看吧。

解决步骤

        1、第一步,关闭MySQL服务

        这里使用终端命令行来关闭(如果有无法通过偏好设置关闭MySQL的同学也可以看我另外一篇文章《ARM芯片MacBook的MySQL无法在偏好设置中一键启动》)

sudo /usr/local/mysql/support-files/mysql.server stop

        2、第二步,进入安全模式无密码登陆数据库

        先进入MySQL的目录,获取下电脑的管理员权限(需要输入电脑的登陆密码),然后禁止MySQL的验证功能(忽略权限验证表grant tables)

cd /usr/local/mysql/bin

sudo su

./mysqld_safe --skip-grant-tables

        3、第三步,更改数据库密码

        打开新的终端窗口(快捷键command + N),进入MySQL目录,启动MySQL,更改密码(把密码改为你需要的新密码,注意不要设置123456这类简单密码,否则仍可能报错)

cd /usr/local/mysql/bin

./mysql

FLUSH PRIVILEGES

ALTER user 'root'@'localhost' IDENTIFIED BY '密码'

        4、第四步,重启MySQL

        重启MySQL(注意此时有可能无法通过偏好设置中关闭mysql,需要使用命令行关闭,之后方可再通过系统偏好设置中进行启停)

sudo /usr/local/mysql/support-files/mysql.server restart

你可能感兴趣的:(数据库,mysql,数据库)