`

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-Front 远程访问linux数据库

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

    linux下安装mysql服务器

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

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

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

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

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

    MySQL 查看并修改默认端口号

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

    linux下mysql安装配置

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

    Linux下MySQL5.7安装步骤.rar

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

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

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

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

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

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

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

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

    如果遇到“Access denied for user”的错误,检查你的防火墙设置,确保3306端口(默认MySQL端口)对远程连接开放,并检查MySQL的配置文件(通常为`my.cnf`)中的`bind-address`是否设置为0.0.0.0,这允许从所有IP...

    远程连接mysql数据库 Linux,MySql数据库远程连接教程.docx

    - 默认情况下,MySQL不允许远程连接。要开启远程访问,首先需要登录MySQL控制台:`mysql -u root -p`,输入密码后进入。 - 授予root用户所有权限以允许远程连接:`GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ...

    数据库(MySQL)远程访问

    在许多情况下,我们需要远程访问MySQL数据库,以便在不同地理位置的设备上进行数据操作和管理。本篇将详细介绍如何实现MySQL数据库的远程访问。 首先,理解MySQL的网络配置至关重要。MySQL服务默认只监听本地回环...

    Linux下安装MySQL.pdf

    最后,通过`chown`和`chgrp`命令将`mysql`目录的所有权和组分别设置为`mysql`用户和`root`组,这将确保MySQL服务能正确访问其文件。 至此,MySQL的安装基本完成。但还需要进行一些后续配置,例如初始化数据库、设置...

    远程连接mysql数据库 Linux,MySql数据库远程连接教程.pdf

    为了允许远程连接,需要在Linux防火墙(如iptables或firewalld)中打开3306端口,例如使用`iptables -A INPUT -p tcp --dport 3306 -j ACCEPT`(或对应firewalld的命令)。 5. **确认配置**: 一旦设置完毕,可以...

    Linux下mysql的安装

    如果遇到“由于权限问题远程不能连接”的情况,可以通过SQL命令`grant all privileges on *.* to root@'192.168.10.120' identified by 'mysql';`来赋予特定IP地址的root用户所有权限。这里,`root`是用户名,`192....

Global site tag (gtag.js) - Google Analytics