Mac登录Mysql报错ERROR 1045

Mac 登录 Mysql 报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

环境

Mysql版本:5.7.12
操作系统:OSX 10.14.6 (18G84)
安装文件:.dmg 下载安装包 (我选择了 macOS 10.14(x86,64位),DMG Archive的版本下载)

mysql-5.7.26-macos10.14-x86_64.dmg(注意5.7跟之前的字段有些不同,下面会说)

Step 1

关闭mysql服务。无论你有没有开启mysql服务,保险起见都要运行一下以下命令。
sudo /usr/local/mysql/support-files/mysql.server stop
(注:我这里报错了:ERROR! MySQL server PID file could not be found! 我直接在 系统偏好设置-->其他(在最下面)中进入MySQL-->关闭就够了,第二步一样的)

Step 2

安全模式启动mysql。

sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables

(第二步貌似还是不好使,按照下面:

1、在终端中输入添加MySQL路径的命令:

   PATH="$PATH":/usr/local/mysql/bin    
注:只要发现 这种报错 mysql: command not found 就用PATH这行代码,再接着输入你之前报错命令行就可以了

2、得到管理员权限

  sudo su  (输入你笔记本的密码)

3、越过权限表,直接登陆MySQL

​ mysqld_safe --skip-grant-tables --skip-networking &

安全模式下,可以直接打开mysql命令行窗口,而不需要密码。

Step 3

新建一个终端,修改root密码

此处注意,5.7较之之前的版本,mysql.user表里面的password字段改成了:authentication_string

逐一输入以下命令,修改root密码并退出。如果还接着用password,会报错,找不到这个字段,新密码:12345

mysql -u root
UPDATE mysql.user SET authentication_string=PASSWORD('12345') WHERE User='root';
12345换成你的新密码。运行完以上命令后,root的密码就修改成你设置的密码了

测试

运行以下命令测试密码是否修改成功。

mysql -u root -p

然后输入你新设置的密码。

如果输入无误,应该会出现mysql命令行窗口,如下:

mysql> 

参考

[Mysql修改root用户密码 For Mac 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

你可能感兴趣的