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

时间:2022-08-06 14:21:47

环境

Mysql版本:5.7.12 
操作系统:OSX 10.11 
安装文件:.dmg文件

MySQL:mysql-5.7.12-osx10.11-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';
FLUSH PRIVILEGES;
\q

my-new-password换成你的新密码。运行完以上命令后,root的密码就修改成你设置的密码了。

测试

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

mysql -u root -p

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

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

mysql> 

提示

  1. 通过.dmg文件安装mysql后,会在系统设置里面出现mysql图标,提供GUI服务,用来打开和关闭mysql服务。 
    Mysql修改root用户密码 For Mac 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 
    Mysql修改root用户密码 For Mac 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
  2. 命令行打开和关闭mysql服务
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
  • 1
  • 2

参考

Reset MySQL root Password in OSX

Mac如何启动MySQL:

http://jingyan.baidu.com/article/48a42057e2b2b9a9242504a2.html

MySQL无法登陆root用户解决方法

http://www.euryugasaki.com/archives/853