我希望我的 MySQL 服务器只使用 unix 套接字,而忽略 TCP 网络,所以我将这一行添加到我的配置中/etc/my.cnf
:
skip-networking
但是netstat
告诉我 MySQL 仍然使用 TCP 端口 3306:
# netstat -tl | grep mys
tcp 0 0 *:mysql *:* LISTEN
我希望我的 MySQL 服务器只使用 unix 套接字,而忽略 TCP 网络,所以我将这一行添加到我的配置中/etc/my.cnf
:
skip-networking
但是netstat
告诉我 MySQL 仍然使用 TCP 端口 3306:
# netstat -tl | grep mys
tcp 0 0 *:mysql *:* LISTEN
如果原因是为了防止远程访问,您可以通过以下方式实现您的目标:
bind-address = 127.0.0.1
在my.cnf的[mysqld]部分并重新启动 mysqld。
这确保mysqld只允许本地连接。
为了防止远程访问跳过网络不是唯一的选择,正如(2013)my.cnf中的评论所说:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
编辑: 安全版本(带有上面的绑定地址)已经是最近(截至 2013 年)Ubuntu 版本中的默认版本,因此只有在您真正想要启用远程服务时才需要更改它(注释掉上面的行)。
原来我将文件保存为my.conf
,应该是my.cnf
,这就是为什么服务器只加载并使用默认配置的原因。
您使用的参数似乎是正确的,如果您想将与您的 mysql 服务器的连接限制为仅本地连接,我应该将此行添加到 /etc/my.cnf
[mysqld]
bind-address=127.0.0.1
不要忘记重新启动 mysqld 服务以激活配置更改