2012-02-25 116 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。

相关问题