使用云服务器配置MariaDB环境,Navicat远程连接一直出错误代码 "2002 - Can't connect to server on '' (10060)"
使用腾讯云或者阿里云的服务器配置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
host的值有%代表root有了远程访问的权限,权限没有问题
2.查看MariaDB是否开启服务,在windos系统中MySQL没有开启服务也会报2002的错,Linux中的MariaDB类似.
查看命令:systemctl status mariadb
running说明服务已开启,没有问题.
3.然后排查MariaDB开启的端口是否是3306
查看命令:netstat -apn
端口号也没有问题
4.查看是否被防火墙拦截(防火墙默认是关闭的)
查看命令:sudo systemctl status firewall
查看结果防火墙也是关闭的,没有问题
5.查看是否被云服务器拦截
罪魁祸首终于找到了!就是这个云服务器拦截了3306的数据库端口连接,以腾讯云为例,在拦截规则里配置好之后就可以远程访问数据库了.
最新文章
- C/C++的开发环境安装
- 无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)
- [译]C#控制管理VisualSVN Server
- [Android新手区] SQLite 操作详解--SQL语法
- Activity的Launch mode详解 singleTask正解
- [原创]Android中LocationManager的简单使用,获取当前位置
- 用ContentProvider向系统增加联系人
- webservice 第一节 .net SoapHeader验证
- 在为知笔记中使用Markdown和思维导图
- Python正则表达式返回首次匹配到的字符及查询的健壮性
- 资料--Linux开发
- #Java学习之路——基础阶段二(第一篇)
- mysql的学习笔记(四)
- this.setData , that.setData , this.data.val三者之间的区别和作用
- OpenCV中 常用 函数 的作用
- Java并发编程-闭锁
- 高通与MTK瓜分天下?手机处理器品牌分析
- RAII vs. exceptions
- python学习之老男孩python全栈第九期_数据库day003 -- 作业
- 用一张图片解释清楚jQuery中10个强大的遍历函数
热门文章
- mysql不需要密码,乱输入密码就能进去。。。。解决
- 外部引入css样式报错Resource interpreted as Stylesheet but transferred with MIME type html/text
- day 26 form表单标签 &; CSS样式表-选择器 &; 样式:背景、字体、定位等
- 腾讯云数据库SaaS致力于构建数据库分布式云,为更多更广的用户提供服务
- postgresql函数:满足特定格式的表及指定日期前的删除
- 【Spark】Day01-入门、模块组成、4种运行模式详解及配置、案例实操(spark分析过程)
- 简易博客页面小项目 html css
- jQuery事件与动态效果
- texlive2021编译中文
- docker搭建Elasticsearch、Kibana、Logstash 同步mysql数据到ES