Documentation Home

B.3.3.6 如何保护或更改 MySQL Unix Socket 文件

服务器用于与本地客户端通信的 Unix 套接字文件的默认位置是 /tmp/mysql.sock. (对于某些分发格式,目录可能不同,例如 /var/lib/mysqlRPM。)

在某些版本的 Unix 上,任何人都可以删除 /tmp用于临时文件的目录或其他类似目录中的文件。如果套接字文件位于系统上的此类目录中,这可能会导致问题。

在大多数 Unix 版本中,您可以保护您的 /tmp目录,以便文件只能由其所有者或超级用户 ( root) 删除。为此,请 以以下 身份登录并使用以下命令来 设置目录sticky上的位:/tmproot

$> chmod +t /tmp

您可以sticky通过执行检查该位是否已设置ls -ld /tmp。如果最后一个权限字符是t,则该位被设置。

另一种方法是更改​​服务器创建 Unix 套接字文件的位置。如果这样做,您还应该让客户端程序知道文件的新位置。您可以通过多种方式指定文件位置:

您可以通过尝试使用以下命令连接到服务器来测试新套接字位置是否有效:

$> mysqladmin --socket=/path/to/socket version