Navicat连接MySQL时弹出:1045:Access denied for user ‘root’@’localhost’

错误原因: 当登录MySQL数据库出现 Error 1045 错误时,表明你输入的用户名或密码错误被拒绝访问了;MySQL服务搭建后,默认root用户是不能进行远程访问连接的。

解决办法如下:

(1)改表法

可能是你的账号不允许从远程登录,只能在localhost本地登录数据库。建议在数据库搭建时,创建一远程连接的用户或者在localhost的主机上将mysql数据库下的"user"表里的"root"用户开启远程登录(把localhost这个值替换为%)。

(2)授权法

授权格式(mysql中不区分大小写):

GRANT 权限 ON 数据库.* TO  “用户名”@ “登录主机”  IDENTIFIED BY “密码”;

实际操作:

>mysql –uroot –p      #进入mysql环境,语法:mysql –u用户名 –p数据库密码

mysql> set password for 'root'@'%' =password('数据库英文密码');  #设置mysql数据库密码

mysql> GRANT ALL PRIVILEGES ON *.* TO “root”@”%” IDENTIFIED BY '数据库密码' WITH GRANT OPTION;   # 修改授权,赋予任何主机访问数据库的权限

mysql> FLUSH PRIVILEGES;  # 刷新权限,授权修改生效

mysql> exit;       # 退出MySQL服务器

当再用Navicat连接时,密码输入上面修改的密码

 


版权声明:本文为chen6s原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。