2012-02-25 60 views
1

我很難讓我的網站連接到主機上的mySQL數據庫。但是,當我通過Apache在PC上運行我的網站時,它正在順利連接。我使用的連接片段是:「在服務器上無法通過套接字連接到本地MySQL服務器」

<?php 
    $conn_error = 'Could not connect'; 

    $mysql_host = 'localhost'; 
    $mysql_user = 'root'; 
    $mysql_pass = ''; 

    $mysql_db = 'firstdatabase'; 

    if(!mysql_connect($mysql_host,$mysql_user,$mysql_pass)|| [email protected]_select_db($mysql_db)){ 
     die($conn_error); 
    }else{ 
     //echo 'Connected'; 
    } 
?> 

,它給我下面的錯誤,當我嘗試連接到MySQL的虛擬主機上:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server 
through socket 'MySQL' (2) in /home/umudo/public_html/connectserver.inc.php on line 10 

我通過網絡搜索尋找一個解決方案,但無法找到任何確切的例子。

+0

你檢查用戶名/密碼是否正確? – 2012-02-25 12:17:30

+1

我強烈懷疑用戶是''root'沒有你的主機上的密碼.. – 2012-02-25 12:17:48

+0

是的,用戶root沒有密碼,因爲我將它返回爲null。 – Umut 2012-02-25 12:21:48

回答

3

幫助:http://dev.mysql.com/doc/refman/5.0/en/connecting.html

說:

在Unix,MySQL的程序會把主機名專門本地主機,因爲從你的期望相比其他 網絡可能不同 方式基於程序。對於連接到本地主機,MySQL程序 嘗試使用Unix套接字文件連接到本地服務器。

所以,你必須

  • 使用 「127.0.0.1」,而不是 「localhost」 的使用TCPIP,而不是插座,
  • 能夠在MySQL服務器配置套接字(socket連接是可能被禁用,並導致在Linux上的錯誤)

第二種方法更好 - 使用套接字本地連接比TCP/IP(更好的性能)更好,但是您可能沒有權限在該服務器上配置mysql。

0

嘗試安裝phpmyadmin或php5-mysql,如apt-get install phpmyadmin。

相關問題