mysqld.sock应该包含什么,为什么我没有它?

Modified on: Mon, 27 May 2019 19:00:03 +0800

当我安装(或重新安装)MySQL 5.1时,有谁知道为什么我的/var/run/mysqld/mysqld.sock套接字文件不在我的计算机上?

现在,当我尝试使用mysqld启动服务器时,我收到类似Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect,但创建一个具有该名称的空白文件(如ubuntu论坛上所示)是不成功的。

我有两个mysql和postgres服务很好,直到我不久前升级到natty;我花了几个小时走过两个数据库,试图弄清楚发生了什么。我可以放弃postgres,但如果没有mysql的工作副本我就无法工作。

最奇怪的部分:我使用Kubuntu,我的理解是KDE使用mysql来存储用户权限等。我没有遇到任何奇怪的权限问题;我可以认为这意味着(某种程度上?)MySQL实际上是在工作吗?

也许这些套接字文件存在于natty的不同位置?重新安装新鲜的操作系统会更容易吗?在这一点上,我愿意接受任何会停止浪费时间的建议。

最佳答案

套接字文件实际上并不包含数据,它会传输它。它是一种特殊的,不寻常的文件类型,使用特殊的系统调用/命令创建。它不是一个普通的文件。

它就像服务器和客户端可以用来连接和交换请求和数据的管道。此外,它仅在本地使用。它的重要性仅仅是文件系统中约定的会合位置。

创建普通旧文件并将其放在该位置实际上可能会干扰创建它的服务器...从而阻止本地客户端连接到服务器。

我的建议是删除您在该位置放置的任何文件。特殊套接字文件由服务器创建。

作者:Paul

相关问答

添加新评论