# B.3.3.6 如何保护或更改 MySQL Unix 套接字文件
服务器用于与本地客户端通信的 Unix 套接字文件的默认位置是/tmp/mysql.sock
.(对于某些分发格式,目录可能不同,例如/var/lib/mysql
对于 RPM。)
在某些版本的 Unix 上,任何人都可以删除/tmp
用于临时文件的目录或其他类似目录。如果套接字文件位于系统上的此类目录中,则可能会导致问题。
在大多数版本的 Unix 上,您可以保护您的/tmp
目录,以便文件只能由其所有者或超级用户删除(根
)。为此,请设置黏
位在/tmp
通过登录为目录根
并使用以下命令:
$> chmod +t /tmp
您可以检查是否黏
位通过执行设置ls -ld /tmp
.如果最后一个权限字符是吨
,该位已设置。
另一种方法是更改服务器创建 Unix 套接字文件的位置。如果这样做,您还应该让客户端程序知道文件的新位置。您可以通过多种方式指定文件位置:
在全局或本地选项文件中指定路径。例如,将以下行放入
/etc/my.cnf
:[mysqld] socket=/path/to/socket [client] socket=/path/to/socket
指定一个
- 插座
命令行选项mysqld_安全的以及当您运行客户端程序时。设置
MYSQL_UNIX_PORT
环境变量指向 Unix 套接字文件的路径。从源代码重新编译 MySQL 以使用不同的默认 Unix 套接字文件位置。定义文件的路径
MYSQL_UNIX_ADDR
运行时的选项制作.看第 2.9.7 节,“MySQL 源配置选项”.您可以通过尝试使用以下命令连接到服务器来测试新的套接字位置是否有效:
$> mysqladmin --socket=/path/to/socket version