首頁  >  文章  >  資料庫  >  mysql.sock是什麼

mysql.sock是什麼

青灯夜游
青灯夜游原創
2022-06-27 11:40:076351瀏覽

「mysql.sock」是mysql的套接字文件,是mysql的主機和客戶機在同一host上的時候,使用unix socket做為通訊協定的載體。在UNIX系列系統下本地連接MySQL可以採用TCP連接和UNIX域套接字兩種方式;其中UNIX域套接字方式需要一個套接字文件,可用“show variables like 'socket'\G;”命令來查看本地socket檔案位置。

mysql.sock是什麼

本教學操作環境:linux7.3系統、mysql8版本、Dell G3電腦。

「mysql.sock」是mysql的套接字檔。

在UNIX系統下本地連接MySQL可以採用UNIX域套接字方式,這種方式需要一個套接字檔案

套接字檔案可由參數socket控制,可使用以下指令查看檔案的位置:

show variables like 'socket'\G;

mysql.sock是什麼

mysql.sock是mysql的主機和客戶機在同一host上的時候,使用unix domain socket做為通訊協定的載體,它比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和應用同在一台PC上,依靠本地的.sock檔。如果不在同一台PC上,就沒有辦法連接了。

對mysql.sock來說,其作用是程式與MySQL Server處於同一台機器,發起本機連線時可用。 

例如你無須定義連線host的特定IP得,只要為空或localhost就可以。 

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

因為你在my.ini或my.cnf中改變連接埠後,mysql.sock是隨每一次 MySQL Server啟動產生的。已經根據你在更改完my.cnf後重啟mysql時重新產生了一次,訊息已跟著變更。

那麼對於外部連接,必須是要變更port才能連接的。

Linux下安裝MySQL連線的時候常回提示說找不到mysql.sock文件,解決辦法很簡單: 

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

如果mysql.sock檔案誤刪的話,就需要重新啟動MySQL服務,如果重啟成功的話會在datadir目錄下面產生mysql.sock 到時候指定即可。

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

【相關推薦:mysql影片教學

#

以上是mysql.sock是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn