阿里 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. #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;                     //查看是否更改成功

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

时间: 2024-08-01 12:24:13

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

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

下面就是具体的实现方法: 1.首先检查mysql所在服务器的防火墙,如果限制了外网对3306端口的连接,那么放开限制 Linux服务器中执行  iptables -L   可以查看当前的防火墙规则 iptables -F   可以清空所有防火墙规则 2.确保mysql的监听地址是0.0.0.0 监听地址是0.0.0.0 ,表示该mysql允许所有IP地址进行连接,这是允许远程连接的基础 监听地址是127.0.0.1,则代表该mysql只允许所在服务器本机连接,外网是无法连接的 怎么知道mysql

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

一共有2台服务器,分别用a,b表示.a双网卡,即有外网也有内网.b只有内网环境.a,b的内网是通过交换机组建.至于外网怎么搭建我就不说了.关键说一说内网是怎么组建的. 如果你对linux不熟悉,对网卡配置文件不熟悉的话,可能会踩到不少坑.不过你也可能会很顺利的就把这个内网组建起来.下面说说步骤: 1.a,b分别用网线与交换机连起来. 2.a,b的内网ip都设成同一个号段(例如 : a:192.168.1.2  b:192.168.1.3 ) 完成以上步骤然后互ping一下,如果通了就说明你的内网

Vmvare中NAT模式静态ip不能连外网的一种解决方法

在使用vmware的过程中,一直都是dhcp自动分配ip,从没有使用过static ip.这次修改为static ip主要是由于复制的两台虚机ip冲突,然后就开始各种ping外网无效的问题,百度了很多也没有解决,在摸索中得到一种解决方案,未必对其他主机有效. 1.查看dhcp下的网络运行状态 从上述状态可知,网络没有任何问题 2.下面我们使用static ip,指定ip为192.168.163.226 需要注意的是static ip同样需要向dhcp服务器租用,刚开始我设置为了192.168.1

wamp安装以后无法连接mysql解决方法

刚刚安装完wamp的mysql密码是空的,要设置以后才能进入. 1.首先在右下角点击wamp图标,选中"MySQL"->"MySQL console".进入cmd. 2.更新用户密码,按以下几个操作进行. 1)首先输入mysql密码,进入mysql. 2)使用mysql数据库,输入"use mysql" 3)更新用户密码,输入" update user set password="你的密码" where use

请教域控制器的域和外网域名重复的解决方法?

问题:搭建了一个单域环境.Windows2008系统. 域是:abc.com,客户端也成功加入域环境.但加入域环境的所有机子访问不到 www.abc.com 网站.ping也不通.怎么办?

ftp搭建后外网无法连接和访问阿里云服务器(非软件)

阿里云服务器由于性价比高,是不少企业建站朋友们的首选.而在购买阿里云服务器后,不少客户反映其在搭建FTP后出现外网无法访问的问题,这里特意搜集整理了关于ftp搭建后外网无法连接和访问的问题,提供以下解决方法. 问题原因一:购买的阿里云ECS未开放外网访问端口. 解决方法:开放端口. 登录阿里云ECS服务器控制面板,[网络和安全]->[安全组],在右边选择[配置规则]->[添加安全组规则],协议选全部,授权对象填0.0.0.0/0 点击确定后,再试一下外网访问FTP,是不是已经可以正常访问了?

阿里云服务器上架设apache php mysql 环境

由于朋友一公司要做企业站,于是就买了阿里云的服务器.买完进去发现iptables 和selinux默认就是关掉的,可能是因为阿里云有云盾就可以不用自带的防火墙吧,具体配置过程如下(我边配边记录的): 1,生成yum 缓存: yum makecache 速度蛮不错,生成蛮快 2,安装apache,centos 封装apache为httpd了,直接安装就可以 yum install httpd 安装完后,开机默认启动该服务 chkconfig httpd on 现在启动服务 service http

centos里mysql无法用localhost连接的解决方法

遇到这个问题可能是由于我未安装在默认路径导致的 解决方法: 由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,但linux系统总是去/tmp/mysql.sock查找,所以会报错 [[email protected] ~]# find / -name mysql.sock/var/lib/mysql/mysql.sock 1.直接指定mysql通道 [[email protected] ~]# mysql --socket=/var/lib/my

R语言-连接MySQL数据库方法

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安装. library(RMySQL) 连接方式有2种: (1)使用dbConnectconn <- dbConnect(MySQL(), dbname = "rmysql", username="rmysql", password="rmysql",