关于 MySQL 的 mysql.sock 文件作用,参看 :
【MySQL】关于 mysql.sock
https://www.jianshu.com/p/e40fada1cb73
如果是用官方rpm安装或者拉取的官方docker镜像起的MySQL服务,mysql.sock的路径是 /var/lib/mysql/mysql.sock
如果是下载的官方MySQL二进制安装包或者编译安装(编译时使用的默认值,没有特意指定mysql.sockl路径),那么mysql.sock的路径是 /tmp/mysql.sock
如果编译安装时,想特意指定mysql.sockl路径 ,可以使用如下编译选项:
-DMYSQL_UNIX_ADDR=/path/to/mysql.sock
![](https://img-blog.csdnimg.cn/img_convert/33fd8ced0df95e0f6bc0a01f94f60d10.webp?x-oss-process=image/format,png)
并且如果路径原本不存在,启动MySQL之前你需要手动创建,主要目录的属主属组,使得MySQL启动时有写入权限!
一般地,如果我们不在MySQL的配置文件 my.cnf中配置 socket 文件路径,启动时,不会有什么问题,MySQL Server 会将mysql.sock 文件生成在相应的目录。
如果本来MySQL启动时,mysql.sock 的生成路径应该是A,你却在my.cnf里写了B,那么对不起,MySQL会启动失败或者连接报错:
![](https://img-blog.csdnimg.cn/img_convert/c02e405a5e5b43c9278b5b72289530d3.webp?x-oss-process=image/format,png)
所以,my.cnf 中要么不写,使用默认值,要写就写正确,原则是要能对应上。
![](https://img-blog.csdnimg.cn/img_convert/7bca2f27e3a2c9853345f3e8df45896b.webp?x-oss-process=image/format,png)
![](https://img-blog.csdnimg.cn/img_convert/10538051321612ea3c1d5193cdeab396.webp?x-oss-process=image/format,png)
使用MySQL客户端命令连接MySQL Server时指定socket文件的两种方式:
# mysql --socket=/path/to/mysql.sock -u User -p"Password"
# mysql -S /path/to/mysql.sock -u User -p"Password"
![](https://img-blog.csdnimg.cn/direct/67c64049147741939b85489caefbb597.png)
喜欢的朋友记得点赞、收藏、关注哦!!!