2012-04-20 51 views
0

我調用的代碼是如下不能用mysql ++

bool suc = conn.connect("mydb", "localhost", "root", ""); 
if (suc) 
{ 
cout << "success" << endl; 
} 
else 
{ 
cout << "fail " << conn.error() << endl; 
} 

和MySQL服務器正在運行連接到MySQL,但該計劃未能說 無法通過套接字連接到本地MySQL服務器的/ tmp目錄/ MySQL的.sock'(111)

有沒有人遇到過這樣的問題?

+0

套接字文件不在/ tmp中,或者mysql沒有運行。如果它正在連接但無法登錄,則會被拒絕。套接字文件很可能不在/ tmp中,因爲該目錄可以被操作系統自動清除。這很可能是'/ var'中的某個地方,但是您必須檢查mysql .cnf/.ini文件以查看它的真實含義。 – 2012-04-20 03:03:10

+0

我有/tmp/mysql.sock文件,並且mysql也在運行,我可以使用用戶名root和空密碼登錄。等等,.cnf/.ini的完整路徑是什麼,我想去檢查 – speedmancs 2012-04-20 03:38:42

+0

你可以使用'mysql'命令行程序連接到它嗎? – 2012-04-20 14:23:56

回答

0

MySQL的配置文件很可能就設在這裏的/etc/my.cnf

如果MySQL正在運行,它可能有助於查看日誌,應該位於/ var /日誌/

名字類似:
mysql.log
mysql.err
mysqld.log
mysqld.err

$ ls -l /var/log/ 
// when you have the name try 
$ tail -n 50 /var/log/LogName