mysql.sock是什么

mysql.sock”是mysql的套接字文件,是mysql的主機(jī)和客戶機(jī)在同一host上的時候,使用unix socket做為通訊協(xié)議的載體。在UNIX系列系統(tǒng)下本地連接MySQL可以采用TCP連接和UNIX域套接字兩種方式;其中UNIX域套接字方式需要一個套接字文件,可用“show variables like ‘socket’G;”命令來查看本地socket文件位置。

mysql.sock是什么

本教程操作環(huán)境:linux7.3系統(tǒng)、mysql8版本、Dell G3電腦。

“mysql.sock”是mysql的套接字文件。

在UNIX系統(tǒng)下本地連接MySQL可以采用UNIX域套接字方式,這種方式需要一個套接字文件

套接字文件可由參數(shù)socket控制,可使用以下命令查看文件的位置:

show?variables?like?'socket'G;

mysql.sock是什么

mysql.sock是mysql的主機(jī)和客戶機(jī)在同一host上的時候,使用unix domain socket做為通訊協(xié)議的載體,它比tcp快。

MySQL有兩種主要的連接方式:

(1)TCP/IP?

(2)socket?

常用的還是TCP連接:

[root@mysql8?data]#?mysql?-h?192.168.103.67?-uroot?-p Enter?password:? Welcome?to?the?MySQL?monitor.??Commands?end?with?;?or?g. Your?MySQL?connection?id?is?14 Server?version:?8.0.15?MySQL?Community?Server?-?GPL  Copyright?(c)?2000,?2019,?Oracle?and/or?its?affiliates.?All?rights?reserved.  Oracle?is?a?registered?trademark?of?Oracle?Corporation?and/or?its affiliates.?Other?names?may?be?trademarks?of?their?respective owners.  Type?'help;'?or?'h'?for?help.?Type?'c'?to?clear?the?current?input?statement.  mysql>

另外的一種方式就是這種unix socket的連接。在速度上比用tcp的方式更快,但只適用于mysql和應(yīng)用同在一臺PC上,依靠本地的.sock文件。如果不在同一臺PC上,就沒有辦法連接了。

對mysql.sock來說,其作用是程序與MySQL Server處于同一臺機(jī)器,發(fā)起本地連接時可用。?

例如你無須定義連接host的具體IP得,只要為空或localhost就可以。?

在此種情況下,即使你改變MySQLl的外部port也是一樣可能正常連接。?

因為你在my.ini中或my.cnf中改變端口后,mysql.sock是隨每一次 MySQL Server啟動生成的。已經(jīng)根據(jù)你在更改完my.cnf后重啟mysql時重新生成了一次,信息已跟著變更。

那么對于外部連接,必須是要變更port才能連接的。?

Linux下安裝MySQL連接的時候經(jīng)?;靥崾菊f找不到mysql.sock文件,解決辦法很簡單:?

如果是新安裝的MySQL,提示找不到文件,就搜索下,指定正確的位置。?

如果mysql.sock文件誤刪的話,就需要重啟MySQL服務(wù),如果重啟成功的話會在datadir目錄下面生成mysql.sock 到時候指定即可。

如果還不行就選擇用TCP連接方式連接就行了,其實windows下還支持管道連接方式。

【相關(guān)推薦:mysql視頻教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊11 分享