Linux 系统外网 3306 端口访问指南91


在 Linux 系统中,端口 3306 通常被 MySQL 数据库服务使用。如果需要从外网访问此端口,则需要进行必要的配置以允许流量通过。本文将指导您完成 Linux 系统上允许外网访问端口 3306 的步骤。

1. 检查防火墙规则

首先,检查您的防火墙是否阻止了从外网访问端口 3306 的流量。您可以使用以下命令:```
sudo ufw status
```

如果防火墙阻止了该端口,请添加以下规则以允许流量通过:```
sudo ufw allow 3306/tcp
```

2. 启用 MySQL 远程连接

接下来,您需要在 MySQL 配置文件中启用远程连接。打开 `/etc/mysql/.d/` 文件:```
sudo nano /etc/mysql/.d/
```

找到 `bind-address` 设置并将其更改为 `0.0.0.0`。这将允许 MySQL 侦听来自任何 IP 地址的连接:```
bind-address = 0.0.0.0
```

3. 重启 MySQL 服务

对 MySQL 配置文件进行更改后,需要重启服务才能使更改生效:```
sudo systemctl restart mysql
```

4. 设置数据库用户并授予权限

要允许外网用户访问数据库,您需要创建一个数据库用户并授予其必要的权限。登录 MySQL:```
mysql -u root -p
```

创建用户并授予访问权限:```
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;
```

5. 配置 TCP 包装器

如果您使用 TCP 包装器,则需要将其配置为允许端口 3306 的流量。编辑 `/etc/` 文件:```
sudo nano /etc/
```

添加以下行:```
mysql: ALL
```

如果您想限制访问特定 IP 地址,可以使用以下语法:```
mysql:
```

6. 测试连接

现在,您应该能够从外网连接到 MySQL 数据库。使用以下命令测试连接:```
telnet 3306
```

如果连接成功,您将看到类似以下的输出:```
Trying ...
Connected to .
Escape character is '^]'.
MariaDB [(none)]>
```

通过遵循这些步骤,您将能够从外网访问 Linux 系统上的端口 3306,从而允许从远程位置连接到 MySQL 数据库。请记住,根据您的具体系统配置,可能需要对本文中提供的信息进行一些调整。

2025-02-24


上一篇:Android 系统:基于 C 语言的操作系统

下一篇:手把手教你使用 Android 操作系统