Linux
如何獲取mysql.sock文件,錯誤地從“/mysql/tmp/”中刪除
我遇到了 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。想不出別的了。