SOCKET文件浅析(以MySQL为例)

前言

在Linux系统中,我们常会看到以.sock为后缀的文件名,而且有时候程序报错时会显示“找不到xxx.sock文件”的提示。那么socket的文件到底是什么呢?这里以MySQL为例,以简短的方式概述基本原理。

Explanation

Mysql有两种连接方式: 
(1)TCP/IP 
(2)socket 
对mysql.sock来说,其作用是程序与mysql_server处于同一台机器,发起本地连接时可用。 
例如你无须定义连接host的具体IP,即可利用mysql.sock文件与本地的mysql_server进行连接。在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。 【UNIX域套接字(UNIX domain socket),即通过文件系统(而非网络地址)进行寻址和访问的套接字。】
如果mysql.sock文件误删的话,就需要重启mysql服务,如果重启成功的话会在相应目录下面重新生成mysql.sock,连接时指定重新生成的mysql.sock即可;如果还不行就选择用TCP连接方式连接就行了。

补充

简单来说,在同一主机上,SOCKET方式比TCP方式连接速度要快。

本文链接:

https://www.abotaku.cn/archives/86.html
1 + 1 =
快来做第一个评论的人吧~
The Website have been running for 2325 days.