学习啦 > 学习电脑 > 电脑安全 > 防火墙知识 >

Centos7下无法远程连接mysql数据库的原因是什么

时间: 加城1195 分享

  防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。下面这篇文章主要给大家介绍了关于在Centos7下无法远程连接mysql数据库的原因与解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。

  原因分析

  有两种原因

  数据库没有授权

  服务器防火墙没有开放3306端口

  一、数据库没有授权

  对于mysql数据库没有授权,只需要用一条命令就可以了。

  mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

  //远程连接数据库的时候需要输入用户名和密码

  用户名:root

  密码:123456

  指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip

  输入后使修改生效还需要下面的语句

  mysql>FLUSH PRIVILEGES;

  二、服务器防火墙没有开放3306端口

  centos 有两种防火墙 FirewallD和iptables防火墙

  centos7 使用的是FirewallD防火墙。

  FirewallD 是 iptables 的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables 相比,使用 FirewallD 有两个主要区别:

  1.FirewallD 使用区域和服务而不是链式规则。

  2.它动态管理规则集,允许更新规则而不破坏现有会话和连接。

  FirewallD 是 iptables 的一个封装,可以让你更容易地管理 iptables 规则 - 它并不是 iptables 的替代品。虽然 iptables 命令仍可用于 FirewallD,但建议使用 FirewallD 时仅使用 FirewallD 命令。

  1.FirewallD防火墙开放3306端口

  firewall-cmd --zone=public --add-port=3306/tcp --permanent

  命令含义:

  --zone #作用域

  --add-port=3306/tcp #添加端口,格式为:端口/通讯协议

  --permanent #永久生效,没有此参数重启后失效

  重启防火墙

  systemctl restart firewalld.service

  2.iptables 开发3306端口

  /sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT

  /etc/rc.d/init.d/iptables save

  补充阅读:防火墙主要使用技巧

  一、所有的防火墙文件规则必须更改。

  尽管这种方法听起来很容易,但是由于防火墙没有内置的变动管理流程,因此文件更改对于许多企业来说都不是最佳的实践方法。如果防火墙管理员因为突发情况或者一些其他形式的业务中断做出更改,那么他撞到枪口上的可能性就会比较大。但是如果这种更改抵消了之前的协议更改,会导致宕机吗?这是一个相当高发的状况。

  防火墙管理产品的中央控制台能全面可视所有的防火墙规则基础,因此团队的所有成员都必须达成共识,观察谁进行了何种更改。这样就能及时发现并修理故障,让整个协议管理更加简单和高效。

  二、以最小的权限安装所有的访问规则。

  另一个常见的安全问题是权限过度的规则设置。防火墙规则是由三个域构成的:即源(IP地址),目的地(网络/子网络)和服务(应用软件或者其他目的地)。为了确保每个用户都有足够的端口来访问他们所需的系统,常用方法是在一个或者更多域内指定打来那个的目标对象。当你出于业务持续性的需要允许大范围的IP地址来访问大型企业的网络,这些规则就会变得权限过度释放,因此就会增加不安全因素。服务域的规则是开放65535个TCP端口的ANY。防火墙管理员真的就意味着为黑客开放了65535个攻击矢量?

  三、根据法规协议和更改需求来校验每项防火墙的更改。

  在防火墙操作中,日常工作都是以寻找问题,修正问题和安装新系统为中心的。在安装最新防火墙规则来解决问题,应用新产品和业务部门的过程中,我们经常会遗忘防火墙也是企业安全协议的物理执行者。每项规则都应该重新审核来确保它能符合安全协议和任何法规协议的内容和精神,而不仅是一篇法律条文。

  四、当服务过期后从防火墙规则中删除无用的规则。

  规则膨胀是防火墙经常会出现的安全问题,因为多数运作团队都没有删除规则的流程。业务部门擅长让你知道他们了解这些新规则,却从来不会让防火墙团队知道他们不再使用某些服务了。了解退役的服务器和网络以及应用软件更新周期对于达成规则共识是个好的开始。运行无用规则的报表是另外一步。黑客喜欢从来不删除规则的防火墙团队。


Centos7下无法远程连接mysql数据库的原因是什么相关文章:

1.要如何通过SSH连接Mysql数据库的方法

2.CentOS 7 在vmware中的网络设置的介绍

3.Navicat for MySQL 使用SSH方式链接远程数据库

4.怎么通过SSH连接Mysql数据库

5.Navicat for MySQL使用SSH方式链接远程数据库的方法

4042501