当使用service mysql start命令启动MySQL时,MySQL会自动创建一个socket文件,这个socket文件的默认权限是由系统默认掩码决定的。因此,要更改该默认权限,您需要修改系统umask值。
umask是Unix / Linux上的一个命令行工具,它设置新建文件和目录的默认权限。在大多数情况下,默认情况下umask值为022(即八进制模式0022),这意味着新建文件的默认权限为644(rw-r–r–),而新建目录的默认权限为755(rwxr-xr-x)。
要更改MySQL socket文件的默认权限,请按照以下步骤进行操作:
使用root用户登录到Linux系统中。
打开/etc/profile文件并找到umask行。如果不存在,则添加一行如下所示:
umask 0027
这将使新建目录和文件的默认权限分别为750和640。
将umask值应用于当前shell窗口或重新启动服务器以使其生效。
停止MySQL服务:
sudo service mysql stop
- 删除旧版本mysql.sock(如果存在):
sudo rm /var/run/mysqld/mysql.sock
- 启动MySQL服务并检查新生成的socket文件所属用户和组以及其权限是否已更改:
sudo service mysql start
ls -l /var/run/mysqld/mysql.sock
现在您的MySQL socket文件的默认权限已更改为750,这将确保它的访问权限正确,并且只有所有者和组成员可以读取和写入它。