当前位置: 首页 > news >正文

阿里 Linux服务器外网无法连接MySQL解决方法

我的服务器买的是阿里云ECS linux系统。为了更好的操作数据库,我希望可以用navicat for mysql管理我的数据库。

当我按照正常的模式去链接mysql的时候,

报错提示:

  1. 2003- Can't connect MySQL Server on 'x.x.x.x'(10038)

于是,通过查找资料,我找到了解决的方法,其实是阿里云服务器为了安全默认不允许从外面链接Mysql数据库。

下面是解决整理的三种解决的方法:

第一种、监听地址配置错误解决方法:

检查mysql服务端口(默认为3306)是否正常监听在127.0.0.1上,如果监听在127.0.0.1上那只允许服务器本身访问的,其他地址是访问不了的,可以通过下面方法来确定端口监听以及修改监听地址;

  1. #netstat -nal |grep 3306 //查看3306端口监听情况,如果监听端口在127.0.0.1上,需进行更正。

1-1.png

  1. #find / -name my.cnf     //查找MySQL配置文件路径

1-2.png

  1. #vim /etc/my.cnf         //编辑配置文件,将bind-address = 127.0.0.1参数,更改为bind-address = 0.0.0.0 或注释此行。

1-3.png

重启mysql服务,问题解决。

 

第二种、被防火墙阻拦解决方法:

 

如果排查mysql服务监听在0.0.0.0地址3306端口上,需检查防火墙设置。如果是被防火墙拦截,需开放数据库服务端口。

 

注意:此处有坑。

第一步:我们可以关闭防火墙,看看外部可不可以链接。

  1. service iptables stop

第二步:当关闭防火墙可以访问的时候,问题就出现在我们的端口上。打开端口配置文件,仔细看看是不是3306端口。并确认状态,不晓得怎么会默认变成drop,改成ACCEPT即可

  1. vi /etc/sysconfig/iptables

下面接着来:

  1. iptables -L
  2. iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
  3. 记得重启防火墙 
    1. service iptables restart

2-1.png

 

第三种、USER表配置错误解决方法:

 

监听地址和防火墙检查无误,需进入mysql数据库内部,检查USER表是否没有放开远程访问。如果没有开启远程访问,开启即可。

  1. mysql> use mysql;   //进入到mysql库中

3-1.png

  1. mysql> update user set host = '%' where user = 'root';  //更改USER这张表中的访问地址为%
  2. mysql> select host, user from user;                     //查看是否更改成功

3-2.png

 

配置完成之后记得重启服务器。

转载于:https://www.cnblogs.com/xiaommvik/p/7818804.html

相关文章:

  • C语言博客作业--嵌套循环
  • java获取当前上一周、上一月、上一年的时间
  • mysql-proxy实现读写分离
  • Linux基本命令—权限管理、文件搜索、帮助、压缩解压、网络通信
  • 中英文金额大写转换器
  • 计算机基础作业
  • 应急响应小总结
  • 课后作业-阅读任务-阅读提问-3
  • HttpClient实现POST参数提交
  • 代码式书写404页面
  • idHttp 中GET POST应用
  • 超级小的web手势库AlloyFinger
  • java中的字符串二
  • [转]Ubuntu安装rabbitMq
  • 如何下载中文语言包让Eclipse汉化?
  • 【译】JS基础算法脚本:字符串结尾
  • JavaScript-如何实现克隆(clone)函数
  • ComponentOne 2017 V2版本正式发布
  • ECMAScript入门(七)--Module语法
  • Java 内存分配及垃圾回收机制初探
  • Javascript设计模式学习之Observer(观察者)模式
  • vue自定义指令实现v-tap插件
  • 观察者模式实现非直接耦合
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 深入 Nginx 之配置篇
  • 树莓派 - 使用须知
  • 说说动画卡顿的解决方案
  • 通过git安装npm私有模块
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • #QT(智能家居界面-界面切换)
  • (12)Hive调优——count distinct去重优化
  • (BFS)hdoj2377-Bus Pass
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (接口自动化)Python3操作MySQL数据库
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (三)mysql_MYSQL(三)
  • (一)UDP基本编程步骤
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET 4.0中的泛型协变和反变
  • .Net 8.0 新的变化
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • @Bean有哪些属性
  • @EventListener注解使用说明
  • @property python知乎_Python3基础之:property
  • [ 数据结构 - C++]红黑树RBTree
  • []C/C++读取串口接收到的数据程序
  • [100天算法】-二叉树剪枝(day 48)
  • [Android]通过PhoneLookup读取所有电话号码
  • [BZOJ 3282] Tree 【LCT】
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境