数据库服务系统:CentOS7

错误码“10060”截图:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

解决 Navicat连接Linux下数据库,错误码“10060”, “1045” 随笔 第1张

1.确认客户机与主机之间的网络是通的(可以通过在客户机上ping主机的IP来确认)

2.确认服务器的数据库是允许账户远程登录

3.检查数据库3306的端口是否处于监听状态 ,运行命令  netstat -ntpl 来查看

4.检查防火墙是否是active的状态,运行命令  systemctl status firewalld  

5.如果防火墙是开启的,可以选择关闭防火墙,或者是设置防火墙开启3306端口,运行的命令分别如下:

  关闭防火墙:  systemctl stop firewalld.service

  开启3306端口:  firewall-cmd --zone=public -add-port=3306/tcp --permanent 开启端口监听之后记得重载防火墙, 运行  firewall-cmd --reload  

 

错误码“1045”截图:

解决 Navicat连接Linux下数据库,错误码“10060”, “1045” 随笔 第2张

 

错误原因很明显了,就是用户名或者是密码错误。

有没有遇到和我相同情况的小伙伴,在Linux下,用这个账户和密码是可以登入数据库的,但是远程登录不了。

解决方法:

1.在Linux下登入数据库

2.查看数据库的所有账户,在数据库中执行语句  select user,host from mysql.user;

3.查看远程登录用到的账号的host是什么,如果远程登录账号的host为localhost(仅本机登录),或者是127.0.0.1 (仅本机登录),在远程登录到的时候,就会提示错误1045

4.在数据库中重新创建远程登录账号:

  创建账号:  CREATE USER 'username'@'host' IDENTIFIED BY ‘yourpassword’; 

         host注意设置为%或者是设置为客户机的IP

  给账号授权:  GRANT ALL PRIVILEGES ON *.* TO 'username'@'host' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;

  重载授权表:  FLUSH PRIVILEGES;

          username, host,yourpassword都要填入自己创建的账户的信息,授权应该根据自己的情况来,我这里是要远程操作数据库,创建table,增删改查等功能,所以权限给得比较多。

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄