为啥我的 mysql.sock 文件只在重启后出现?

Posted

技术标签:

【中文标题】为啥我的 mysql.sock 文件只在重启后出现?【英文标题】:Why does my mysql.sock file only appear after a restart?为什么我的 mysql.sock 文件只在重启后出现? 【发布时间】:2013-01-23 13:22:09 【问题描述】:

我需要安装 DMG mysql 启动包,然后每次重新启动我的计算机,以便我的 mysql.sock 文件出现在我的/tmp/ 文件夹中。否则,我无法找到该文件,并且出于所有意图和目的,它不可用。

注意:我运行的是 Lion 10.7.5,我使用的是 MySQL5.6.10(64 位),如果这有什么不同的话。

我怎样才能解决这个问题,以便 mysql.sock 文件将永久保留在该文件夹中?

谢谢。

【问题讨论】:

【参考方案1】:

mysql.sock 是一个套接字文件,只会在您的 MySQL 服务器进程 (mysqld) 运行时出现。启动您的 MySQL 服务器进程,它将出现在 mysql 配置指示的位置。套接字文件的位置在你的 mysql 配置文件中定义,通常在 linux 机器上的/etc/my.cnf 找到,但在 OSX 上它取决于你的 mysql 的安装位置。

当你找到 my.cnf 文件时,你可以寻找这样的一行来确认它确实是要在 /tmp 中创建的:

  socket=/tmp/mysql.sock

注意:套接字不是传统意义上的文件。它基本上是一个命名管道,用于在基于 unix 的系统上的进程之间进行通信。它看起来是 0 字节,并且仅在创建套接字的程序运行时才存在。

【讨论】:

以上是关于为啥我的 mysql.sock 文件只在重启后出现?的主要内容,如果未能解决你的问题,请参考以下文章

服务器断电 Mysql启动失败

linux 安装mysql 出现 mysql.sock问题解决方法

eclipse3.4中为啥修改jsp和java文件时需要重启服务器

出现”/var/lib/mysql/mysql.sock“不存在的解决方法

解决var/run/mysqld没有pid和sock文件

异常ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock