Linux

如何獲取mysql.sock文件,錯誤地從“/mysql/tmp/”中刪除

  • March 3, 2021

我遇到了 PDO 異常

PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of home/../includes/lock.inc).

為了解決這個問題,我嘗試使用該命令重新創建符號連結。我正在Linux伺服器上工作。

ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock

執行上述 sql 語句時,PDO 異常沒有變化。後來,我錯誤地刪除了mysql.sock文件"/home/../mysql/tmp/"(不在“/tmp”中)。

如何取回或重新創建mysql.sock文件。關於 PDO 異常以及如何解決它的任何想法。

vi /etc/mysql/my.cnf

您將在配置文件中找到頂部下方的行

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

確保 mysqld.sock 是它應該在的位置 我不喜歡錯誤消息“/tmp/mysql.sock”中的路徑

既然你在這裡也找這條線

bind-address            = 127.0.0.1

如果您嘗試從遠端位置連接,請將此行註釋掉。

嘗試本地連接(從伺服器上的終端)

mysql -u root -p

如果您不關心安全性(即這是您的個人伺服器而不是多使用者環境),您還可以確保任何人都可以讀取該文件

chmod a+r /var/run/mysqld/mysqld.sock

以上所有內容應該可以解決您的連接問題。要獲取文件,您可以全新安裝 mysql 伺服器。

apt-get purge mysql-server
apt-get install mysql-server

或者你可以下載 mysql-server .deb 包解壓它,你應該可以在那裡找到它。如果您使用的是 RHL,則等效於 .rpm。

編輯:由於您一直在復製文件,因此文件所有權可能已更改為 root,請同時檢查(使用 ls-la /path)。所有者應該是 mysql 組 mysql。想不出別的了。

引用自:https://serverfault.com/questions/617098