以下内容只解决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端口,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
3. **防火墙设置**:确保Linux服务器的防火墙(如iptables或ufw)允许来自MySQL-Front所在机器的TCP端口3306(默认MySQL端口)的入站流量。 4. **用户权限**:在MySQL数据库中,你需要为想要远程访问的用户分配相应...
Linux 下安装 MySQL 服务器 ...安装和配置 MySQL 服务器需要完成多个步骤,包括安装客户端和服务器端,设置数据库字符集和端口号,启动和停止服务,设置开机启动,解决启动报错问题,登录和忘记密码,允许远程访问等。
5. **安全措施**:开放远程访问后,强烈建议设置防火墙规则,只允许特定IP地址或IP段访问MySQL端口(默认为3306)。 6. **保存配置**:如果在my.cnf配置文件中进行了修改,记得保存并重启MySQL服务,使更改生效。 ...
在 Linux 环境下启用 MySQL 数据库远程访问的方法 MySQL 数据库是当前最流行的关系型数据库管理系统之一,在 Linux 环境下启用 MySQL 数据库远程访问是非常重要的。由于安全考虑, MySQL 数据库通常关闭了远程访问...
此外,如果你的MySQL服务器是远程访问的,还需要确保防火墙设置允许新端口号的通信。同时,如果你有其他应用程序依赖于MySQL的默认端口,别忘了更新它们的配置,以指向新的端口。 总结来说,查看和修改MySQL的端口...
【Linux下MySQL安装配置】 在Linux操作系统中安装和...以上步骤完成了MySQL在Linux环境下的安装和配置,以及iptables防火墙的相应设置,确保了数据库服务的安全运行。请根据实际情况调整配置,以适应你的具体需求。
在Linux环境下安装MySQL 5.7是一个相对系统的过程,尤其对于初学者来说,可能需要一些指导。本教程将详述如何在Linux系统上逐步安装MySQL 5.7,结合提供的压缩包文件,确保你能顺利进行操作。 **1. 更新系统** 在...
本教程将详细讲解如何在CentOS 8上安装MySQL并配置允许远程访问。 首先,安装MySQL前需要确保系统中没有已存在的MySQL或MariaDB实例。你可以通过以下命令检查: ```bash rpm -qa | grep mysql rpm -qa | grep ...
在Linux系统中,开启MySQL的远程访问功能是一个关键步骤,特别是在需要从不同网络位置访问数据库时。以下将详细解释如何实现这一目标。 首先,确保MySQL服务已经安装并且正常运行。在Ubuntu系统中,通常通过`apt-...
2. **Linux下MySQL外部远程访问配置**:与上述过程相同,但可能需要额外考虑Linux系统的安全设置。 3. **Linux中的MySql数据库远程连接教程**:可能包含更详细的系统环境配置和故障排查指南。 4. **解决MySQL不同意...
如果遇到“Access denied for user”的错误,检查你的防火墙设置,确保3306端口(默认MySQL端口)对远程连接开放,并检查MySQL的配置文件(通常为`my.cnf`)中的`bind-address`是否设置为0.0.0.0,这允许从所有IP...
- 默认情况下,MySQL不允许远程连接。要开启远程访问,首先需要登录MySQL控制台:`mysql -u root -p`,输入密码后进入。 - 授予root用户所有权限以允许远程连接:`GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ...
在许多情况下,我们需要远程访问MySQL数据库,以便在不同地理位置的设备上进行数据操作和管理。本篇将详细介绍如何实现MySQL数据库的远程访问。 首先,理解MySQL的网络配置至关重要。MySQL服务默认只监听本地回环...
最后,通过`chown`和`chgrp`命令将`mysql`目录的所有权和组分别设置为`mysql`用户和`root`组,这将确保MySQL服务能正确访问其文件。 至此,MySQL的安装基本完成。但还需要进行一些后续配置,例如初始化数据库、设置...
为了允许远程连接,需要在Linux防火墙(如iptables或firewalld)中打开3306端口,例如使用`iptables -A INPUT -p tcp --dport 3306 -j ACCEPT`(或对应firewalld的命令)。 5. **确认配置**: 一旦设置完毕,可以...
如果遇到“由于权限问题远程不能连接”的情况,可以通过SQL命令`grant all privileges on *.* to root@'192.168.10.120' identified by 'mysql';`来赋予特定IP地址的root用户所有权限。这里,`root`是用户名,`192....