mysql 配置了bind-address = 127.0.0.1之后, 还是监听*
时间: 2023-11-27 22:53:37 浏览: 172
mysql不能用localhost,127.0.0.1连接,只能用ip连接 的解决方法
5星 · 资源好评率100%
如果你在 MySQL 配置文件(my.cnf)中设置了 `bind-address = 127.0.0.1`,但 MySQL 仍然在监听所有的 IP 地址,这可能是因为 MySQL 配置文件中存在其他 `bind-address` 的设置,或者是因为 MySQL 正在使用命令行参数覆盖配置文件中的设置。
你可以通过以下步骤来检查并解决这个问题:
1. 确认 MySQL 配置文件路径,可以使用 `mysql --help` 命令来查看。
2. 打开 MySQL 配置文件,并查找所有的 `bind-address` 设置。如果存在其他 `bind-address` 设置,将其注释掉或者修改为 `bind-address = 127.0.0.1`。
3. 重启 MySQL 服务,使配置文件生效。
如果 MySQL 仍然在监听所有的 IP 地址,你可以尝试使用 `netstat` 命令来查看 MySQL 监听的IP地址和端口号。在终端中输入以下命令:
```
sudo netstat -tlnp | grep mysql
```
如果 MySQL 正在监听所有的 IP 地址,你应该看到类似以下输出:
```
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1234/mysqld
```
如果 MySQL 正确地只监听了本地IP地址(127.0.0.1),你应该看到类似以下输出:
```
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1234/mysqld
```
如果你看到的是前者,而不是后者,说明 MySQL 仍然在监听所有的 IP 地址。你可以尝试使用命令行参数来指定 `bind-address`,例如:
```
mysqld --bind-address=127.0.0.1
```
这将覆盖配置文件中的设置,并强制 MySQL 只监听本地 IP 地址。
阅读全文