关于 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
并且如果路径原本不存在,启动MySQL之前你需要手动创建,主要目录的属主属组,使得MySQL启动时有写入权限!
一般地,如果我们不在MySQL的配置文件 my.cnf中配置 socket文件路径,启动时,不会有什么问题,MySQL Server 会将mysql.sock 文件生成在相应的目录。
如果本来MySQL启动时,mysql.sock 的生成路径应该是A,你却在my.cnf里写了B,那么对不起,MySQL会启动失败或者连接报错:
所以,my.cnf 中要么不写,使用默认值,要写就写正确,原则是要能对应上。
使用MySQL客户端命令连接MySQL Server时指定socket文件的两种方式:
mysql --socket=/path/to/mysql.sock -u User -p"Password"
mysql -S /path/to/mysql.sock -u User -p"Password"
最后编辑于:2024-07-27 15:21:50
© 著作权归作者所有,转载或内容合作请联系作者
喜欢的朋友记得点赞、收藏、关注哦!!!