2011-05-13 60 views
1

我在Ubuntu 11.04。一切工作PHP,PHPMYADMIN,手動登錄到MySQL等錯誤2002:無法通過套接字 '/tmp/mysql.sock' 連接到本地MySQL服務器(2)

我寫了使用MySQL C應用。現在,當我啓動這個應用程序時,我收到上述錯誤。我試圖通過將原始文件鏈接到/ tmp /文件夾(ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock)來防止這種情況發生,但是,一段時間後我開始出現此錯誤再次 - 因爲我的鏈接已被刪除,這是令人沮喪的。

什麼我需要做的,使這項工作?

回答

2

MySQL的庫與/tmp/mysql.sock默認的編譯。服務器啓動時爲/var/run/mysqld/mysql.sock,而您的$HOME/.my.cnf未在[client]部分反映此值。

如果這是在沒有有效的$ HOME運行,你可能需要使用mysql_options與MYSQL_READ_DEFAULT_FILE。

+0

謝謝梅爾,我確實運行它沒有一個有效的$ HOME變量。我在mysql_init後面的C應用程序中嘗試了mysql_options(conn,MYSQL_READ_DEFAULT_FILE,「/etc/mysql/my.cnf」),但似乎沒有發生任何事情。有什麼想法嗎? – 2011-05-13 13:43:50

+0

@frank該文件需要包含一個[client]節,其中'socket =/var/run/mysqld/mysql.sock'。 – Mel 2011-05-13 13:46:45

+0

它確實有一個客戶端部分的端口和指定的套接字?! – 2011-05-13 13:51:29

0

嘗試將文件鏈接在其他位置比的/ tmp /,並用它從那裏

+0

這並不能解決他的代碼連接到錯誤套接字的問題。 – Mel 2011-05-13 13:05:06

相關問題