Navicat连接Mysql报错原因及解决办法

这是本人在工作学习中遇到的问题以及解决办法,如有问题,麻烦评论或者留言

通常产生的原因有:1、navicat连接mysql服务的用户的访问权限受限,2:centos7 防火墙机制不允许3306端口被访问

1、针对第一种情况,我们可以查看mysql 的用户访问权限,

1.1、使用mysql -uroot -p 登陆连接到MySQL服务,并输入密码

1.2、 将mysql服务切换到mysql数据库上,执行 use mysql 指令

1.3、查看mysql 服务的用户信息(用户名,可访问ip)(如果,root用户的host不是localhost而是%的话,跳过1.4)

select user, host from user;

 user 代表mysql服务可访问的用户,host代表用户运行在制定的ip上访问(localhost,表示本机)

1.4、修改root用户允许在任务机器上访问 update user set host='%' where user='root';

1.5、 给 root 授权(所有权限)GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

 

 1.6刷新用户权限,使root新设置的权限能够生效 flush   privileges;

至此可以使用MySQL 客户端管理工具navicat 连接MySQL服务

2、针对第二种情况,我们可以查看centos7 的防火墙的运行状态

2.1、查看centos7 firewalld 的运行状态 systemctl status firewalld

2.2加入防火墙是处于运行状态的话,再查看防火墙运行主机被访问的端口

firewall-cmd --zone=public --list-ports

 2.3、假如,防火墙没有开放3306端口(MySQL端口)的话,需要新增3306端口允许在外部被访问

firewall-cmd --zone=public --add-port=3306/tcp --permanent
 命令含义:
--zone #作用域
--add-port=3306/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效 可写可不写,不写的话需要执行下面的reload操作

 

2..4、重新加载firewalld防火墙的配置信息使其生效

firewall-cmd --reload

 2.5、再次查看firewalld防火墙开放的端口列表

firewall-cmd --zone=public --list-ports

 至此MySQL服务应该能够使用navicat工具进行连接

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值