mysql出現Can't connect to local MySQL server through socket '/Data/mydata/mysql.sock' (2)怎麼辦

1、錯誤提示:

今天要用到數據庫的時候突然數據庫就報錯了:
Can’t connect to local MySQL server through socket '/Data/mydata/mysql.sock’

2、分析錯誤原因:

在網上找了很久都沒有找到是什麼原因。對着前人的錯誤解決辦法也沒有成功。但是貌似知道是什麼原因錯誤的。首先來說一下我的觀點吧:
我出現的問題是:找不到mysql.sock,如果你可以運行。首先我們需要找到這個文件是在哪裏。

find / -name mysql.sock

哈哈哈,我試着去找這個文件但是沒有找到。很好!如果是這樣的就對了。因爲mysql在沒有啓動的時候是不會有這個文件的,這其實是一個套接字,在啓動mysql的時候其實是利用這樣的一個套接字來連接數據庫的
如果你因爲丟失套接字文件而不能連接,你可以簡單地通過重啓服務器重新創建得到它。因爲服務器在啓動時重新創建它。
如果和我一樣,重啓服務器還是沒有任何變化,你可以先執行下面的語句:

mysql -uroot -h 127.0.0.1 -p 

用這種連接方式相信大家都是可以連接成功的,這種方式就避免了使用套接字連接。
如果套接字文件被一個cron任務刪除,問題將重複出現,除非你修改cron任務或使用一個或使用一個不同的套接字文件,我的解決辦法是重新指定一個不同的套接字,或者說,我現在沒有mysql.sock文件,所以我要想辦法生成一個。
好的!現在我們找到了錯誤的原因了…

3、解決辦法:

先把需要修改的文件放在前面。
我們一共需要修改這四個文件:
修改的目的在於保證他們產生的套接字目錄完全一樣

1/etc目錄下面的  my.cnf
2/etc/mysql/mysql.conf.d  目錄下面的 mysqld.cnf
3/etc/mysql/conf.d  目錄下面的mysql.cnf
4/etc/mysql  目錄下面的 debian.cnf

首先我們看一下各個文件socket文件的目錄在哪裏:
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
其中第一張圖片有一個被註釋掉的socket文件的目錄,後面的是我修改的。只要保證這四個文件的socket目錄是一樣的就好了。

3、測試成功:

在這裏插入圖片描述

發佈了78 篇原創文章 · 獲贊 33 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章