`

Linux下mysql端口不能远程访问的问题 防火墙设置

阅读更多

以下内容只解决iptables开放端口问题,不解决mysql数据库本身账号远程访问权限问题.

Linux iptables 开放Mysql端口允许远程访问

修改防火墙配置文件:
vi  /etc/sysconfig/iptables
增加下面一行:

-A RH-Firewall-1-INPUT -m state –state NEW -m  tcp -p tcp –dport 3306 -j ACCEPT

或者使用命令

iptables -A RH-Firewall-1-INPUT -m state –state NEW -m  tcp -p tcp –dport 3306 -j ACCEPT

保存配置,否则重启不生效

service iptables save

重新启动iptable
service  iptables restart
这时就可以从其他机器访问Mysql了。

开通3306 端口的行必须在icmp-host-prohibited前

之前一直都找不到问题,配置了3306端口始终不能外部访问mysql,关闭iptables就可以.终于找到问题..

iptables -L -n --line-number 在RH-Firewall-1-INPUT里有一个REJECT 是指向icmp的..

要开放的端口必须要在这条规则之前..如果使用INPUT加载RH-Firewall-1-INPUT,可以把REJECT放到RH-Firewall-1-INPUT下,让INPUT首先加载RH-Firewal-1-INPUT里的规则,然后再加载REJECT..

或者把3306端口的开放规则写在INPUT里的RH-Firewall-1-INPUT之前..

(个人觉得第一种比较方便,,以后有规则可以直接加在RH里,不用再管顺序问题..)

添加REJECT的命令为:

iptables -A INPUT -j REJECT --reject-with  icmp-host-prohibited

附本人配置..

 

[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-OUTPUT  all  --  0.0.0.0/0            0.0.0.0/0

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255
ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0
ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:3306

分享到:
评论

相关推荐

    linux下mysql开启远程访问权限 防火墙开放3306端口

    主要为大家详细介绍了linux下mysql开启远程访问权限,防火墙开放3306端口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    开启Mysql远程访问(关闭防火墙).txt

    对于生产环境,应该采用更安全的方式来实现MySQL的远程访问,例如设置防火墙规则允许特定端口的流量通过、使用SSL加密等。此外,还应定期审查MySQL的用户权限,确保没有不必要的权限授予,从而增强系统的安全性。

    mysql设置指定ip远程访问连接实例

    - 即使在MySQL层面设置了远程访问,如果服务器的防火墙未开放相应的端口(默认为3306),远程连接仍无法建立。因此,你需要确保在服务器的防火墙规则中允许来自指定IP的TCP流量进入3306端口。这通常通过`iptables`...

    MySQL-Front 远程访问linux数据库

    3. **防火墙设置**:确保Linux服务器的防火墙(如iptables或ufw)允许来自MySQL-Front所在机器的TCP端口3306(默认MySQL端口)的入站流量。 4. **用户权限**:在MySQL数据库中,你需要为想要远程访问的用户分配相应...

    linux下安装mysql服务器

    Linux 下安装 MySQL 服务器 ...安装和配置 MySQL 服务器需要完成多个步骤,包括安装客户端和服务器端,设置数据库字符集和端口号,启动和停止服务,设置开机启动,解决启动报错问题,登录和忘记密码,允许远程访问等。

    Linux开启mysql远程连接

    可以通过临时关闭防火墙来测试是否可以远程访问MySQL: ```bash service iptables stop ``` - 如果问题解决,则按照前面所述的方法在防火墙中添加规则以允许3306端口。 4. **远程访问MySQL速度很慢** - 可以...

    ubuntu 15.04开放mysql远程3306端口

    虽然现在 3306 端口已经对外部开放,但还需要为 MySQL 用户授予远程访问权限。 1. 使用 root 用户登录 MySQL: ```bash sudo mysql -u root -p ``` 2. 输入 root 用户的密码。 3. 授予 root 用户远程访问权限: ...

    服务器的MySQL不能远程访问的解决方案

    - **Linux防火墙**:确保MySQL端口(通常是3306)对外开放。可以通过命令`iptables -A INPUT -p tcp --dport 3306 -j ACCEPT`添加允许外部访问的规则。 - **云服务安全组**:如果是云服务器,需要登录控制台,进入...

    Mysql初始化root密码和允许远程访问

    5. **安全措施**:开放远程访问后,强烈建议设置防火墙规则,只允许特定IP地址或IP段访问MySQL端口(默认为3306)。 6. **保存配置**:如果在my.cnf配置文件中进行了修改,记得保存并重启MySQL服务,使更改生效。 ...

    MySQL开启关闭远程访问

    检查防火墙是否开启了MySQL的3306端口,并尝试从另一台计算机上使用root用户进行远程登录测试。 #### 二、关闭远程访问 **1. 登录本地MySQL** 同上一步骤,登录MySQL。 **2. 使用MySQL库** 同上一步骤,使用...

    CentOS 8 安装 MySql并设置允许远程连接的方法

    本教程将详细讲解如何在CentOS 8上安装MySQL并配置允许远程访问。 首先,安装MySQL前需要确保系统中没有已存在的MySQL或MariaDB实例。你可以通过以下命令检查: ```bash rpm -qa | grep mysql rpm -qa | grep ...

    在Linux环境下启用MySQL数据库远程访问的方法[文].pdf

    在 Linux 环境下启用 MySQL 数据库远程访问的方法 MySQL 数据库是当前最流行的关系型数据库管理系统之一,在 Linux 环境下启用 MySQL 数据库远程访问是非常重要的。由于安全考虑, MySQL 数据库通常关闭了远程访问...

    linux安装mysql(实测没问题)

    ### Linux 下 MySQL 5.7 的安装与配置详解 #### 一、下载 MySQL 安装包 1. **离线安装准备**: - 如果在没有网络连接的情况下安装 MySQL,可以借助于文件交互软件如 xftp6 或 MobaXterm 来传输安装包。 - 可以...

    linux下mysql安装配置

    【Linux下MySQL安装配置】 在Linux操作系统中安装和...以上步骤完成了MySQL在Linux环境下的安装和配置,以及iptables防火墙的相应设置,确保了数据库服务的安全运行。请根据实际情况调整配置,以适应你的具体需求。

    MySQL 查看并修改默认端口号

    此外,如果你的MySQL服务器是远程访问的,还需要确保防火墙设置允许新端口号的通信。同时,如果你有其他应用程序依赖于MySQL的默认端口,别忘了更新它们的配置,以指向新的端口。 总结来说,查看和修改MySQL的端口...

    Linux下MySQL5.7安装步骤.rar

    在Linux环境下安装MySQL 5.7是一个相对系统的过程,尤其对于初学者来说,可能需要一些指导。本教程将详述如何在Linux系统上逐步安装MySQL 5.7,结合提供的压缩包文件,确保你能顺利进行操作。 **1. 更新系统** 在...

    Linux下mysql 5.7 部署及远程访问配置

    在Linux环境下部署MySQL 5.7以及配置远程访问是一个常见的任务,尤其对于开发团队协作来说。下面我们将逐步解析这一过程。 首先,为了在Linux(此处为CentOS 7)上安装MySQL,我们需要添加MySQL的Yum仓库。这可以...

    Linux中开启mysql远程访问功能.docx

    在Linux系统中,开启MySQL的远程访问功能是一个关键步骤,特别是在需要从不同网络位置访问数据库时。以下将详细解释如何实现这一目标。 首先,确保MySQL服务已经安装并且正常运行。在Ubuntu系统中,通常通过`apt-...

    Linux,mysql同意远程连接教程-mysql5.6同意远程连接.docx

    2. **Linux下MySQL外部远程访问配置**:与上述过程相同,但可能需要额外考虑Linux系统的安全设置。 3. **Linux中的MySql数据库远程连接教程**:可能包含更详细的系统环境配置和故障排查指南。 4. **解决MySQL不同意...

Global site tag (gtag.js) - Google Analytics