Mac使用Navicat连接mysql时报1045 - Access denied for user 'root'@'localhost' (using password: YES)错误
使用Navicat连接mysql时报1045 - Access denied for user 'root'@'localhost' (using password: YES)错误
(以下解决方案,只针对mac,亲测有效)
Step1: 停止mysql服务
打开系统偏好设置 -> mysql -> stop MYSQL Server
Step2: 禁止mysql的验证功能
-
打开Terminal进入mysql的bin目录下:cd /usr/local/mysql/bin/
-
使用管理员身份登陆: sudo -i或者 sudo su
-
禁止mysql的验证功能:./mysqld_safe --skip-grant-tables &
Step3: 进入Mysql并修改权限
-
进入mysql命令行:
./mysql
-
使用flush privileges刷新用户权限表:FLUSH PRIVILEGES;
-
设置密码:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; (在这个之前试了ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';navicat依旧报错。)
对应的 *.* TO 'root'@'%' IDENTIFIED BY 'root'
数据库名.表名 用户名 IP 用户的密码
*表示所有数据库或者所有数据表
%表示所有IP
意思:某个库的某些表 给特定的用户指定给特定的IP 操作权限
也可以在mysql库中的user表 查看具体的用户和权限