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>