2012-02-25 27 views
1

ホスト上のmySQLデータベースにWebサイトを接続するのに苦労しています。しかし、私はApacheでPC上で自分のWebサイトを実行していたとき、スムーズに接続していました。Linuxサーバの「ソケット経由でローカル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'; 
    } 
?> 

そして、私はWebホスト上で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 

私は見つけるためのWeb経由で検索しましたこの問題の正確な例は見つかりませんでした。

+0

ユーザー名/パスワードが正しいかどうかチェックしましたか? –

+1

私は、あなたのホストにパスワードがない 'root'ユーザであることを強く疑う。 –

+0

はい、私はnullとして返すので、rootユーザはパスワードを持っていません。 – Umut

答えて

3

ヘルプ:http://dev.mysql.com/doc/refman/5.0/en/connecting.html

は言う:Unixのは、MySQL プログラムに

は、ホスト名が他の ネットワークに比べて、あなたが期待するものとはおそらく異なっている 方法で、特別にをlocalhostの扱いベースのプログラム。 localhostへの接続の場合、MySQLプログラム は、Unixソケットファイルを使用してローカルサーバに接続しようとします。

だからではなく代わりにソケットのTCPIPを使用するためには "localhost" の

  • 使用 "127.0.0.1"、または
  • へのMySQLサーバ設定でソケットを有効にしている(ソケット接続がありますおそらく無効になっているため、Linuxでエラーが発生します)

2番目の方法が優れています - ローカル接続にソケットを使用する方がTCP/IP(パフォーマンスが良い)より優れています。そのサーバ上でmysql設定を行う権限はありません。

0

apt-get install phpmyadminのように、phpmyadminまたはphp5-mysqlをインストールしてみてください。

関連する問題