我的服务器买的是阿里云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. #find / -name my.cnf     //查找MySQL配置文件路径

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

重启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

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

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

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

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

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

阿里 Linux服务器外网无法连接MySQL解决方法的更多相关文章

  1. (二)阿里云ECS Linux服务器外网无法连接MySQL解决方法(报错2003- Can't connect MySQL Server on 'x.x.x.x'(10038))(自己亲身遇到的问题是防火墙的问题已经解决)

    我的服务器买的是阿里云ECS linux系统.为了更好的操作数据库,我希望可以用navicat for mysql管理我的数据库. 当我按照正常的模式去链接mysql的时候, 报错提示: - Can' ...

  2. 如何允许外网可以连接mysql数据库

    1.首先检查mysql所在服务器的防火墙,如果限制了外网对3306端口的连接,那么放开限制Linux服务器中执行 iptables -L   可以查看当前的防火墙规则iptables -F   可以清 ...

  3. WebSocket部署服务器外网无法连接解决方案

    首先要说的是我遇见的问题: WebSocket connection to 'ws://www.xxxx.com/xxx/xx' failed: Error during WebSocket hand ...

  4. linux服务器外网内网(双网络)搭建

    一共有2台服务器,分别用a,b表示.a双网卡,即有外网也有内网.b只有内网环境.a,b的内网是通过交换机组建.至于外网怎么搭建我就不说了.关键说一说内网是怎么组建的. 如果你对linux不熟悉,对网卡 ...

  5. 阿里云服务器外网IP无法访问网站

    1.添加IIS时添加了127.0.0.1的IP监听导致无法访问外网IP 添加IP监听:netsh http add iplisten 127.0.0.1显示IP监听:netsh http show i ...

  6. linux服务器启动报错UNEXPECTED INCONSISTENCY解决方法

    内网的linux服务器给开发员用来测试以及共享文件使用,今天早上发现xshell连接不上该服务器,一开始进入系统显示reboot and select proper boot device or in ...

  7. Linux服务器重启后nvidia-smi无法使用的解决方法

    服务器上的nvidia显卡驱动用的好好的,突然有一天,服务器断电了,然后恢复之后发现常用的nvidia-smi命令无法使用了,具体显示什么无法建立和驱动器的通信之类的,上网查了一堆,发现问题的核心:l ...

  8. 外网无法ip访问服务器解决方法 (原)

    示例ip:119.75.1.1      windows server示例 一.检查网络是否通畅     打开dos窗口(windows+r , 输入cmd回车  )输入命令: ping 119.75 ...

  9. 【ASP.NET 问题】Win7中IIS被防火墙阻止导致外网无法访问的解决方法。

    今天装了IIS7.0,把网站发布了上去,但局域网的其他电脑始终无法访问主机上的网站. 于是想到防火墙的原因,把防火墙关掉,可以正常访问,但是打开就不行. 于是去网上找资料,总算搞定了. 原来在防火墙的 ...

随机推荐

  1. LeetCode 108. 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree) 14

    108. 将有序数组转换为二叉搜索树 108. Convert Sorted Array to Binary Search Tree 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索 ...

  2. Python 发送微信小程序的模板消息

    在小程序的开发过程中,会存在模板消息的发送,具体文档见 这里,模板消息的发送是和语言无关的,这里将简要写一下怎么用 Python 给用户发送模板消息.     通过文档可以知道,发送的时候,需要使用小 ...

  3. springboot(3):整合Servlet,filter,listener

    1.springboot整合Servlet(2种方式) 添加maven依赖:spring-boot-starter-web 1>通过注解扫描完成Servlet组件的注册(方式1) 步骤:需要3步 ...

  4. STM32之串口硬件连接图

    笔记本USB转串口实物连接图: 电路连接图:

  5. QT 创建本地数据库(SQLite数据库)存储数据

    注意:QT自带SQLITE数据库,不需要再安装 1.创建一个包含创建.查询.修改和删除数据库的数据库类(DataBase) DataBase.h头文件 #pragma once #include &l ...

  6. Django项目配置参数大全

    数据库的配置 配置文件: settings.pyDATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NA ...

  7. PowerBuilder学习笔记之导入Excel数据

    原文地址:http://blog.chinaunix.net/uid-20586802-id-3235549.html /*****************简单的导入功能,涉及到数据类型判断***** ...

  8. Codeforces Round #415 (Div. 1) (CDE)

    1. CF 809C Find a car 大意: 给定一个$1e9\times 1e9$的矩阵$a$, $a_{i,j}$为它正上方和正左方未出现过的最小数, 每个询问求一个矩形内的和. 可以发现$ ...

  9. python之闭包、装饰器

    一.学习Python的时候发现函数内部,还可以写函数,并且可以返回函数.觉得挺新奇的,主要是在探索装饰器(有点像Java的注解)的时候,发现这个理解还是很主要的,所以这里记录一下. 二.闭包 1)首先 ...

  10. wcf Origin

    WebHttpBinding bd = new WebHttpBinding(); //WebServiceHost sh = new WebServiceHost(typeof(Bl_x), new ...