使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

时间:2023-02-22 21:10:58

使用腾讯云或者阿里云的服务器配置MariaDB数据库环境的时候,用Navicat远程连接在Centos7的Linux上配置MariaDB数据库环境的时候一直出错误代码 "2002 - Can't connect to server on '' (10060)"

可能原因如下

  1.是否有权限访问MariaDB数据库

  2.MariaDB的服务为开启或已关闭

  3.MariaDB正在不同的端口上运行,连接端口错误

  4.Linux防火墙阻止了与MariaDB的连接

  5.是否被云服务器防火墙拦截

1.查看是否给root赋予了远程访问的权限,如果没有需要先给root访问权限

安装好MariaDB后设置访问权限,命令是:grant all privileges on *.* to 'root' @'%' identified by '123';

然后刷新权限,命令是:flush privileges;

然后进入MariaDB查询一下是否给root赋予了远程访问的权限,sql语句:select User,host from mysql.user

使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

 

host的值有%代表root有了远程访问的权限,权限没有问题

2.查看MariaDB是否开启服务,在windos系统中MySQL没有开启服务也会报2002的错,Linux中的MariaDB类似.

查看命令:systemctl status mariadb

使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

 

 

running说明服务已开启,没有问题.

3.然后排查MariaDB开启的端口是否是3306

查看命令:netstat -apn

使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

 

 

 端口号也没有问题

4.查看是否被防火墙拦截(防火墙默认是关闭的)

查看命令:sudo systemctl status firewall

使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

 

 查看结果防火墙也是关闭的,没有问题

5.查看是否被云服务器拦截

使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"

 

罪魁祸首终于找到了!就是这个云服务器拦截了3306的数据库端口连接,以腾讯云为例,在拦截规则里配置好之后就可以远程访问数据库了.

使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"