Navicat 连接远程主机的MySQL数据库时,一些常见错误及解决办法

通过Navicat,远程登录MySQL数据库时(以CentOS 7系统为例),经常会碰到以下几种错误:

01. “Error: 1045 - Access denied for user’root’@'localhost '(using password: yes)”.

在这里插入图片描述
错误原因: 当登录MySQL数据库出现 Error 1045 错误时,就表明你输入的用户名或密码错误被拒绝访问了; MySQL服务搭建后,默认root用户是不能进行远程访问连接的。
解决办法如下:

(1)改表法
可能是你的账号不允许从远程登录,只能在localhost本地登录数据库。建议在数据库搭建时,创建一远程连接的用户或者在localhost的主机上将mysql数据库下的"user"表里的"root"用户开启远程登录(把localhost这个值替换为%)。
(2)授权法
授权格式:GRANT 权限 ON 数据库.* TO ‘用户名’ @ ‘登录主机’ IDENTIFIED BY ‘密码’;

进入mysql环境
>mysql –uroot –p
设置mysql数据库密码
mysql> set password for 'root'@'%' =password('英文密码');
修改授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql数据库密码' WITH GRANT OPTION;  //赋予任何主机访问数据库的权限
mysql> FLUSH PRIVILEGES;  //授权修改生效
mysql> exit;       //退出MySQL服务器

02. “Error: 2003 - Can’t connect to MySQL server on x.x.x.x(10060 “Unknown error”)”.

在这里插入图片描述
错误原因: 当登录MySQL数据库出现 Error 2003- Can’t connect to MySQL server on x.x.x.x(10060 “Unknown error”) 错误时,我们首先做一个分析,导致这种状况出现的几种原因:
a) bind-address 对于连接的ip做了一个限定;
b) 数据库用户只能在指定的ip上连接;
c) 网络,防火墙可能导致的问题。
解决办法如下:

(1)增加远程访问授权
授权格式:GRANT 权限 ON 数据库.* TO ‘用户名’ @ ‘登录主机’ IDENTIFIED BY ‘密码’;

进入mysql环境
>mysql –uroot –p
设置mysql数据库密码
mysql> set password for 'root'@'%' =password('英文密码');
修改授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mysql数据库密码' WITH GRANT OPTION;  //赋予任何主机访问数据库的权限
mysql> FLUSH PRIVILEGES;  //授权修改生效
mysql> exit;       //退出MySQL服务器

(2)关闭并禁止firewall防火墙开机启动

systemctl stop firewalld.service //关闭防火墙
systemctl disable firewalld.service //禁止防火墙开机启动
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值