日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

解决mysql.sock连接不上问题:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)

發布時間:2023/12/18 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决mysql.sock连接不上问题:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)

  • 知其所以然

    ??????這是個本人之前遇到過多次的問題,今天在實驗室做數據庫測驗,沒帶充電器只好用實驗室的舊主機通過遠程連接云服務器上linux下安裝的數據庫,再次遇到。而本人有時會突然有強迫癥,花了大量時間來解決這個問題,但是測驗只能延期完成了。

    ??????該錯誤提示的意思:無法通過socket /tmp/MySQL.sock連接到本地MySQL服務器
    ??????該錯誤會導致的問題:無法通過socket連接數據庫,有些同學例如我之前使用軟連接link的方式暫時解決了問題,但是沒有從根源的配置文件my.cnf上去修改,導致了數據庫重啟時軟連接失效,而重復多次出現該問題。

  • 如果你只是想暫時登錄,用下面的方法即可

暫時登錄

1.使用TCP/IP登錄
??????使用TCP/IP登錄暫時登錄到數據庫,但是如果設置了外部地址登錄用戶權限,可能會被限制權限。

mysql -h localhost(主機地址) -P端口地址

2.如果你知道服務器啟動時創建sock的路徑,一般為/var/lib/mysql/mysql.sock(安裝目錄)與/tmp/mysql.sock,使用指定sock路徑登錄

mysql -u -root(用戶名) -p -s sock路徑

3.設置軟連接,主要的思路是設置/var/lib/mysql/mysql.sock(安裝目錄)與/tmp/mysql.sock的軟連接。
??????因為在數據庫重啟即失效,不推薦,還不如用第二個方法。

修改my.cnf配置文件,解決根源問題
?????? 首先,mysql8.0.17版本默認登錄時連接的mysql.sock文件路徑:
????????????/tmp/mysql.sock
??????(如果你不了解mysql的連接方式,文章后面有詳細解釋)
??????這時我們需要用vim命令將my.cnf配置中,mysqld服務器啟動時創建的mysql.sock修改成與連接路徑匹配。

???????或者將mysql默認登錄時連接的sock文件改為/var/lib/mysql/mysql.sock(安裝目錄),在my.cnf里面寫上[client]的相關配置,并將socket路徑寫在[client]下方的配置里,否則登陸時,mysql只會去默認的/tmp下尋找mysql.sock

mysql的連接方式有什么?

1. Socket(本地連接)
登錄本地數據庫默認方式是使用socket連接,即當server和client在同一臺服務器上的時候,我們可以直接用mysql命令登陸。連接的代碼:

mysql -u root(用戶名) -p 或 mysql -u -root(用戶名) -p -s sock路徑

2. TCP/IP(協議連接)
通過協議連接mysql,mysql登陸的時候,指定參數-h,會使用tcp/ip的方式連接,如果沒有指定端口的話,默認是使用3306端口。代碼為:

mysql -h主機地址 -P端口地址

我們平時使用的數據庫管理工具如navicat,workbench等可以使用TCP/IP連接,這樣可以實現遠程連接,當然在本機上也可以使用TCP/IP協議并將主機地址改為localhost連接本地數據庫,但是我認為在使用本機端口還多使用了TCP/IP端口,這樣效率自然不如socket高。

總結

以上是生活随笔為你收集整理的解决mysql.sock连接不上问题:Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。