如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题

开放Mysql的远程连接

在服务器上登录mysql,然后执行以下的命令。

登录mysql:

  1. /usr/local/mysql-5.6/bin/mysql -u root -p

执行赋权的命令:

  1. MySQL> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
  1. MySQL> flush privileges;

也可以直接重启mysql。

  1. /usr/local/mysql-5.6/support-files/mysql.server restart

远程连接Mysql

在本地连接mysql,我们可以使用mysql workbench,这是一款英文的mysql的客户端。

连接的时候出现错误:Can't connect to MySQL server on Ip地址 (111 "Connection refused")。

检查防火墙

先检查防火墙的3306端口是不是放开了。这台服务器使用的是iptables,打开iptables,配置3306端口。

  1. vi /etc/sysconfig/iptables
  2. # Firewall configuration written by system-config-firewall
  3. # Manual customization of this file is not recommended.
  4. *filter
  5. :INPUT ACCEPT [0:0]
  6. :FORWARD ACCEPT [0:0]
  7. :OUTPUT ACCEPT [0:0]
  8. -A INPUT -p tcp -m tcp --dport 10100:10180 -j ACCEPT
  9. -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
  10. -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  11. -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
  12. -A INPUT -j REJECT –reject-with icmp-host-prohibited
  13. -A FORWARD -j REJECT –reject-with icmp-host-prohibited
  14. COMMIT

重启防火墙

  1. /etc/init.d/iptables restart

检查my.cnf

在my.cnf的配置文件中,有参数控制它是否运行在网络上。例如查看这个my.cnf。

  1. vi /usr/local/mysql-5.6/my.cnf

如果是老的版本,使用#屏蔽skip-networking,如下。

  1. #skip-networking

如果是新的版本,使用#屏蔽bind-address。

  1. #bind-address = 127.0.0.1

或者指定允许访问的ip

  1. #bind-address = 192.168.1.2

然后重启mysql。

  1. /usr/local/mysql-5.6/support-files/mysql.server restart

这里是用文件的方式来启动mysql,你可以用服务的方式。

叶子在屏蔽#skip-networking后,再远程连接mysql就OK了。

附录iptables防火墙的命令

查询防火墙状态:

  1. [root@localhost ~]# service iptables status

停止防火墙:

  1. [root@localhost ~]# service iptables stop

启动防火墙:

  1. [root@localhost ~]# service iptables start

重启防火墙:

  1. [root@localhost ~]# service iptables restart

永久关闭防火墙:

  1. [root@localhost ~]# chkconfig iptables off

永久关闭后启用:

  1. [root@localhost ~]# chkconfig iptables on

编辑防火墙规则

  1. vi /etc/sysconfig/iptables

重启防火墙的其他方式

  1. /etc/init.d/iptables restart

结束

你学会了吗?

如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题的更多相关文章

  1. MySQL: Can’t connect to MySQL server on (111 “Connection refused”)

    1. Mysql连接问题 远程访问mysql或者通过docker访问宿主机mysql经常会碰到下面的问题: Can't connect to MySQL server on (111 "Co ...

  2. SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法

    原文摘自:http://www.jb51.net/article/52581.htm 这篇文章主要介绍了SELinux导致PHP连接MySQL异常Can't connect to MySQL serv ...

  3. 使用Navicat远程连接阿里云ECS服务器上的MySQL数据库

    一.必须给服务器的安全组规则设置端口放行规则,在管理控制台中设置: 之后填写配置,授权对象是授权的IP,其中0.0.0.0/0为所有IP授权,之后保存; 二.Navicat使用的配置 在编辑连接处,要 ...

  4. 解决使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused问题

    使用putty 连接Windows主机与Linux虚拟机出现提示network error:connection refused的问题 问题描述: 主机与虚拟机可以互相ping通: 防火墙已经关闭 使 ...

  5. Nginx报错 connect() failed (111: Connection refused) while connecting to upstream 的解决方法

    今天访问公司的网站突然报错,抛出一些英文,提示看一下Nginx的error.log日志: cd  /usr/local/nginx/logs/  看到了error.log ,下一步 tail -n 2 ...

  6. nginx 解决 connect() failed (111: Connection refused) while connecting to upstream,

    嗯哼,刚装了个ubuntu的lnmp,我的天啊,踩的坑比我脂肪还多了 比如刚装完的时候访问显示502, 也不知道什么问题,就去看了一下nginx日志  /var/log/nginx/error.log ...

  7. 解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

    http://www.jb51.net/article/27616.htm   有次同事提出开发使用的mysql数据库连接很慢,因为我们的mysql开发数据库是单独一台机器部署的,所以认为可能是网络连 ...

  8. 解决远程连接mysql错误1130

    Mysql远程连接Mysql服务器的数据库,错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx  is not allowed to connect to this ...

  9. 解决远程连接mysql很慢的方法

    开发某应用系统连接公司的测试服务器的mysql数据库连接打开的很慢,但是连接本地的mysql数据库很快,刚开始认为可能是网络连接问题导致的,在进行 ping和route后发现网络通信都是正常的,而且在 ...

随机推荐

  1. 在 Windows 上可以用 Docker 吗?

    作者:陈计节 个人博客:https://blog.jijiechen.com/post/docker-on-windows/ Docker,或者准确一点说,容器技术,在近几年里几乎成为了应用分发和集群 ...

  2. DWR第五篇之文件上传

    1. 在第一篇架构基础上进行 2. 修改maven依赖 <dependencies> <dependency> <groupId>org.directwebremo ...

  3. zookeeper服务发现实战及原理--spring-cloud-zookeeper源码分析

    1.为什么要服务发现? 服务实例的网络位置都是动态分配的.由于扩展.失败和升级,服务实例会经常动态改变,因此,客户端代码需要使用更加复杂的服务发现机制. 2.常见的服务发现开源组件 etcd—用于共享 ...

  4. shell测试命令test、[ ]、[[ ]]

    bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html test可用于测试表达式,支持测试的范围包括:字符串比较,算术 ...

  5. R语言实战(二)——数据分析基础知识

    一.R中数据结构 1.数据集 通常是由数据构成的一个矩形数组,行 表示 观测(记录.示例),列 表示 变量(字段.属性) 2.R中的数据结构 3.向量 c()可以用来创建向量 > a <- ...

  6. OpenCV神技——人脸检测,猫脸检测

    简介   OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效--由一系列 C 函数和少量 ...

  7. C#面向对象之多态。

    1.定义:指不同的对象收到相同的消息时,会产生不同的行为,同一个类在不同的场合下表现出不同的行为特征. 比如. class Program { //下面三各类都继承object,但不同类的tostri ...

  8. 【转载】Centos系统快速部署LNMP环境

    PHP语言在Linux系统上运行的时候,需要在Linux系统上部署相应的Nginx.MySQL.PHP等环境,只有将这些环境参数都设置好,PHP相关应用程序才可正常运行,部署环境的方法有很多种,可手动 ...

  9. .net core Identity集成IdentityServer(3) 一键登出

    在客户端程序, 我们补充一键登出操作. 使用了idsv之后, 退出的操作需要删除本地cookie, 然后去请求认证服务器, 也删除认证服务器的cookie. 官网给的退出的代码 public asyn ...

  10. JQuery官方学习资料(译):Attributes

    Attributes     元素的属性可以为你的应用程序包含有用的信息,重要的是能够获取和设置它. .attr()方法     .attr()方法是可获取和可设置的,在设置状态下,.attr()可以 ...