「mysql.sock」是mysql的套接字文件,是mysql的主機和客戶機在同一host上的時候,使用unix socket做為通訊協定的載體。在UNIX系列系統下本地連接MySQL可以採用TCP連接和UNIX域套接字兩種方式;其中UNIX域套接字方式需要一個套接字文件,可用“show variables like 'socket'\G;”命令來查看本地socket檔案位置。
本教學操作環境:linux7.3系統、mysql8版本、Dell G3電腦。
「mysql.sock」是mysql的套接字檔。
在UNIX系統下本地連接MySQL可以採用UNIX域套接字方式,這種方式需要一個套接字檔案
套接字檔案可由參數socket控制,可使用以下指令查看檔案的位置:
show variables like 'socket'\G;
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中文網其他相關文章!