2012-05-23 150 views
2

當我用PHP腳本連接我的數據庫,它顯示無法連接:無法通過套接字「/var/lib/mysql/mysql.sock」連接到本地MySQL服務器(2)

Could not connect: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 

用戶名和密碼是正確的。

my.cnf

[client] 
#password  = your_password 
port   = 3306 
socket   = /data/mysql/mysql.sock 

# Here follows entries for some specific programs 

# The MySQL server 
[mysqld] 
port   = 3306 
socket   = /data/mysql/mysql.sock 
skip-external-locking 

PS的東西:我將其更改爲socket = /var/lib/mysql/mysql.sock PHP腳本仍然說 「/var/lib/mysql/mysql.sock」?然後運行

mysqladmin -u root -p status 

它顯示

mysqladmin: connect to server at 'localhost' failed 
error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' 
Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! 




service mysqld restart 


mysqld: unrecognized service 
+1

錯誤表明您正在嘗試使用'/ VAR/lib/mysql/mysql.sock'而您的配置建議套接字實際上位於'/ data/mysql/mysql.sock' ... – eggyal

+0

我將它更改爲socket = /var/lib/mysql/mysql.sock錯誤仍然存​​在 – run

+0

在Debian系統上重新啓動MySQL的命令服務器是'服務mysql重新啓動' –

回答

1

問:你my.conf仍然說 「/var/lib/mysql/mysql.sock」?

問:目錄「/ var/lib/mysql」是否存在?

問:你的mysql用戶(或更好的,mysql組)有寫入權限嗎?

如果是這樣,請嘗試重新啓動mysql,看看會發生什麼。

附錄:

另一件事是嘗試到創建一個的mysql.sock並明確它的權限:

cd /var/lib 
mkdir mysql 
touch mysql/mysql.sock 
chown -R mysql:mysql mysql 
+0

我很抱歉。我是Linux的新手。我不知道如何檢查你的3Q。你能告訴我如何檢查它們嗎?非常感謝 – run

+0

1)sudo bash#成爲「root」,2)ls -ld/var/lib/mysql#檢查目錄是否存在,以及目錄權限 – paulsm4

+0

ls:/ var/lib/mysql:沒有這樣的文件或目錄 – run

相關問題