确保 MySQL 不接受远程连接

Mar*_*ery 4 mysql security configuration

我目前正在开发一个基于 LAMP 的网站。我不知道自从 MySQL 安装在我们的服务器上以来对它进行了哪些配置更改。我们使用 MySQL 的方式,我们的数据库没有理由接受任何远程连接;它只需要通过 PHP 或通过 ssh 会话通过命令行 shell 在本地访问。

出于安全原因,我想确保无法远程连接到我们的数据库。我需要检查哪些设置以确保是这种情况?我可以在某处设置一个选项来阻止所有远程连接吗?

Phi*_*lᵀᴹ 9

做:

netstat -an|grep 3306 | grep LISTEN
Run Code Online (Sandbox Code Playgroud)

如果返回类似于以下行的内容:

tcp        0      0 0.0.0.0:3306                  0.0.0.0:*                   LISTEN      
Run Code Online (Sandbox Code Playgroud)

..这意味着它正在侦听所有接口。

如果返回类似于以下行的内容,并且没有其他行:

tcp        0      0 127.0.0.1:3306               0.0.0.0:*                   LISTEN
Run Code Online (Sandbox Code Playgroud)

.. 它已经配置为只监听localhost.

如果在 之前有其他 IP 地址的行:3306,则表示它正在侦听这些接口。

要将 MySQL 更改为仅侦听localhost,请编辑您的配置文件(通常为/etc/my.cnf),添加以下内容:

bind-address = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

重新启动服务,瞧!