Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在使用错误的权限创建mysql.sock。什么定义了套接字的权限?_Mysql_Sockets - Fatal编程技术网

正在使用错误的权限创建mysql.sock。什么定义了套接字的权限?

正在使用错误的权限创建mysql.sock。什么定义了套接字的权限?,mysql,sockets,Mysql,Sockets,在安装了mariadb服务器的全新安装RHEL7上,启动mariadb会在/var/lib/mysql中创建一个套接字文件: srwxrwxrwx。1 mysql 0 May 25 08:23 mysql.sock 我们的本地安装过程移动这个目录,并在/var/lib/mysql处设置一个符号链接。多年来,这种方法一直运行良好,但在RHEL7中,通过当前的维护,启动mariadb现在可以创建mysql.sock文件,而无需为group或其他人编写,从而无法正常连接到数据库。在受影响的系统上,插座

在安装了mariadb服务器的全新安装RHEL7上,启动mariadb会在/var/lib/mysql中创建一个套接字文件:

srwxrwxrwx。1 mysql 0 May 25 08:23 mysql.sock

我们的本地安装过程移动这个目录,并在/var/lib/mysql处设置一个符号链接。多年来,这种方法一直运行良好,但在RHEL7中,通过当前的维护,启动mariadb现在可以创建mysql.sock文件,而无需为group或其他人编写,从而无法正常连接到数据库。在受影响的系统上,插座现在看起来像:

srwxr-xr-x+1 mysql 0 May 25 08:30 mysql.sock


如何以及在何处设置套接字的权限?如何更改设置?

在重新启动mysql服务器时创建套接字文件时,将设置权限。所以我猜默认权限在创建套接字的代码中的某个地方


您的套接字文件似乎在ACL control+下,我对此知之甚少,但您是否尝试过chmod a+w mysql.sock?

问题在于目录和文件上的ACL,尽管它们本应授予对该文件的访问权限,但显然,套接字的处理方式不同

删除所有ACL,在这种情况下,mariadb的数据目录中不应该有人修改任何内容,因此这样做没有任何影响,允许使用适当的权限正确创建文件,并且我们能够连接到数据库。因此,解决方案是不将ACL放在目录或文件上


啊,我们编织了一个多么纠结的网络啊…

事实上,我可以用chmod a+w mysql.sock更改套接字的保护,然后一切都按预期开始工作。但是,如果我重新启动mariadb或引导系统,套接字文件将返回到其不太有用的保护。不过,你的回答确实让我找到了最终的解决办法。谢谢你。