• 締切済み
  • 困ってます

ソケットのエラーについて

お世話になります。 現在、LinuxRedHatに、Apache+PHP+MySQLをインストールしています。 インストールは終了したのですが、いざPHPのプログラムにアクセスすると、 Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13) のメッセージが出ます。 http://www.hi-ho.ne.jp/tsumiki/book_sup2.html等を参考にして、 色々設定を試してみたのですが、改善されないためお知恵をお貸し頂ければと思い投稿いたしました。 ・MySQLサーバが起動していることは確認しています ・MySQLのソケットとPHPのソケットはパスは共通です  →MySQLは/etc/my.cnfの、[mysqld][safe_mysqld][client]に、socket=/var/lib/mysql/mysql.sock  →PHPは/usr/local/lib/php.iniにmysql.default_socket = /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sockは存在しています。 (ls -laで見た場合) srwxrwxrwx 1 mysql mysql 0 6月 28 13:59 mysql.sock 上記以外で、設定不備がありましたらご教授ください。 環境は、 Linux RedHatES 3.0 Apache 2.0.58 PHP 4.3.11 MySQL 3.23.58 です。よろしくお願いいたします。 長文失礼致しました。

noname#99462
noname#99462

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1121
  • ありがとう数2

みんなの回答

  • 回答No.1
  • yambejp
  • ベストアンサー率51% (3827/7415)

私の備忘録によると以下のとおりです。 記憶のかなたなので、あってるか自信ありません。 php.ini の「mysql.default_socket = /tmp/mysql.sock」を 「mysql.default_socket = /var/lib/mysql/mysql.sock」に 変更しapache を再起動する

共感・感謝の気持ちを伝えよう!

質問者からのお礼

お忙しい中ご回答ありがとうございます。 はい、該当部分は修正し、再起動済みなのです; …と、ずっと調べている間に http://docs.info.apple.com/article.html?artnum=301457-ja というページを見つけて解決できました! ご迷惑をおかけして申し訳ありませんでした。

関連するQ&A

  • ソケットエラーについて(PHP+MYSQL)

    過去ログもたくさんでていたのですが、解決しないので質問します。 PHPとMYSQLを連動させて使用したいのですが、わからないなりにサーバーの設定しています。 Fedora Core3 PHP Version : 4.3.11 Apache Version : 2.0.53 MYSQL 5.0.24a で設定しています。 PHP単体では動いています。 MYSQLもターミナル上では動いています。 PHPからの動かすと DB Error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13) と出たので、 mysqldをもう一度起動してみたり php.iniを /tmp/mysql.sock に変更してApacheを再起動したり my.cnfも同じ値にしているのですが (mysql.socは/tmp/にある) エラーが DB Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (13) に切り替わっただけでした。 mysqldが動いていないのかなーとも思うんですが どこから手をつけていいのかわからなくなっています。 ひとつ気になるのが、PHPのテストファイルで取得したinfoの MYSQLの 項目で MYSQL_SOCKET /var/lib/mysql/mysql.sock と出ていました。 これって関係あるんでしょうか。 別の設定があるのでしょうか・・・ それともやっぱりmysqldをあたってみたらいいのか。 みなさんのご意見をお聞かせいただければ幸いです。 あと参考になるような本があれば教えてください。 よろしくお願いします。

  • MySQLのsocketの位置の変更が出来ません

    すみませんが、Linuxでmysql.sockの位置を変えたいのですがどのようにすればいいのでしょうか? ソースからのデフォルトは/tmp/mysql.sockですが、 MySQL5.1.58の場合、./configureのオプションにて--with-unix-socket-path=/var/lib/mysql/mysql.sockを指定してインストールし、my.cnfに [mysqld] socket=/var/lib/mysql/mysql.sock [client] socket=/var/lib/mysql/mysql.sock を記述しても Starting MySQL.......Manager of pid-file quit without updat[失敗]le. とか /usr/local/mysql5.1/bin/mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! と出てダメです。 勿論、/var/lib/mysql/mysql.sockというファイルは存在しません。 Snort、innotopなど色々なツールを使用する際に、/tmp/mysql.sockではどうしても上手くいかず、socketの位置を変えようと思ったのですが。 マニュアル読んだり、Webで検索しても分かりませんでした。 そもそも皆さんは他のソフトとの連携で問題がなく、自分だけの問題なのかなとも思ったりもしました。

    • ベストアンサー
    • MySQL
  • phpからmysqlへ接続できなくて困っております

    phpからmysqlへ接続したいのですが、データベースへ接続できません。 まず、使用環境は以下の通りです。 ------------------------------ OS:RedHatLinuxES4 MYSQL:mysql-4.1.7-4.RHEL4.1 PHP:php-4.3.9-3.1 MysqlとPHPはRedHatサイトのパッケージを使用してrpmでインストール しております。 MySQLのデータディレクトリをデフォルトの/var/lib/mysqlから /home/mysqlへ変更してます。 それに伴い、/etc/my.cnfのソケットとデータディレクトリの箇所 を変更しております。 <デフォルト設定> socket=/var/lib/mysql/mysql.sock datadir = /var/lib/mysql <変更後> socket=/home/mysql/mysql.sock datadir = /home/mysql ------------------------------ 色々調べていて原因は分かりました。 mysqlで指定しているソケットの場所と、PHPで指定している ソケットの場所が違うため、接続できないようです。 phpinfoにて情報を取得したところ、mysqlの箇所でソケットを指定 がデフォルト値の/var/lib/mysql/mysql.sockとなっておりました。 そこで、php.iniファイルのMYSQLの箇所を以下のように修正しました。 <デフォルト設定> mysql.default_socket = <変更後> mysql.default_socket = /home/mysql/mysql.sock 上記変更後、apacheを再起動し、再度phpinfoにて情報を取得した ところ、以下のようになりました。 MySQL Support項目、 MYSQL_SOCKET → /var/lib/mysql/mysql.sock #変更されず、反映されていないように見受けられるます Directive項目、 mysql.default_socket → /home/mysql/mysql.sock #php.ini修正前は確か、no valueであったと思います。 #従いまして、php.iniの内容が反映されている? --- その後、mysqlへ接続する、mysql_connect関数を利用して 接続テストを行った結果、エラーとなり接続できませんでした。 <エラーメッセージ> 接続できませんでした: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) --- おそらく、上記のphpinfo情報取得した時の、MYSQL_SOCKETが反映 されていないからだと思っておりますが、php.iniファイルの mysql.default_socketを修正すれば反映されると思ったにも関わらず 反映されないので、次にどこを修正すれば良いのか分かりません。 ご教授頂けませんでしょうか。宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 何故、通らないのでしょうか?

    何故、通らないのでしょうか? socketの設定がおかしいのでしょうか? ご回答のほど、宜しくお願い申し上げます。 ~/wordpress$ sudo mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2 "No such file or directory") ~/wordpress$ sudo -i gedit /etc/my.cnf [mysqld] # socket=/var/lib/mysql/mysql.sock socket=/tmp/mysql.sock [client] socket=/tmp/mysql.sock

    • ベストアンサー
    • MySQL
  • MySqlの初期設定 RedhatLinux9

    RedhatLinux9 で アパッチ、PHP, Mysql、FTPをインストール時に選択してインストール(Webサーバーに必要な最小限)したのですが、MySqlがどうしてもうまく動いてくれません。 Mysqlに関して、 いろいろGoogleやらOKWEBなどで調べたのですが、うまく動かないようです。 /var/lib/mysql で設定されているようで、 sqlをスタートさせると下記のようなメッセージがでます。 [root@www mysql]# /usr/bin/safe_mysqld & [1] 2214 [root@www mysql]# Starting mysqld daemon with databases from /var/lib/mysql 031023 13:54:59 mysqld ended [1]+ Done /usr/bin/safe_mysqld となり、 次にmysqlのユーザーを作ろうとするとエラーがでてしまします。 mysql_install_db --user=mysql と入力すると 下記のようなエラーがでます。 /usr/bin/mysqladmin -u root password '*****' /usr/bin/mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)' Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! /var/lib/mysql/mysql.sock は、存在しているのですが、、、、、 sqlに関しては、 mod_auth_mysql-1.11-12 php-mysql-4.2.2-17 mysql-3.23.54a-11 mysql-server-3.23.54a-11 が、インストールされているようです。 どうしても解決できないのです。 よろしくお願いします。

  • MySQLとの間でのソケットエラー

    あまりプログラミングを知らないので言葉がおかしいところあったらすみません。 とあるレンタルサーバーを借りてphpのプログラム(WordPress)を動かしています。 WordPressはME 2.2.3、phpは4.4.2、別のサーバーで動いているMySQLは4.0.26です(WWWサーバー、MySQLサーバーは専用ではなく共有)。 ここ数日なのですが、ブログの更新時やコメント投稿時に以下のエラーが出るようになりました(但し記事やコメント自体は投稿できています)。 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) on line: 294 ネットで検索したところ、phpとMySQLをつなぐソケットというものの位置がおかしくなっていることが一因のようです。 phpinfo()で返ってくる値は"MYSQL_SOCKET /tmp/mysql.sock"となっており、 一方phpMyAdminでログインしてMySQLを確認したところ"socket /home/mysql/mysql.sock /home/mysql/mysql.sock"となっています。 このズレがエラーを引き起こしているのではないかと思うのですが、あいにくユーザーにはこれらを変える権限はないようです(php.iniを設定することは不可能)。 私がWordPressをインストールしなおして設定をいじれば対応できるようですが、その前にこうしたズレはよくあることなのか、それともレンタルサーバー側に問い合わせるべきなのか疑問に思ったので質問しました。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • MySQLインストール

    こんにちは。 RedhatLinux7.1を使っています。 mysql-3.23.52をソースからインストールしたのですが、 うまく動きません。 ユーザーmysqlになって $ /usr/local/mysql/bin/mysql_install_db --user=mysql をしたあとに $ /usr/local/mysql/bin/safe_mysqld --user=mysql &  とすると [1]2758 $Starting mysqld daemon with database from /var/lib/mysql 020925 15:11:24 mysqld ended となります。 また、 $ mysql としたら ERROR 2002:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) となります。  あとでわかったのですが、ディストリビューション付属でmysqlがすでに入っていたようです。 二つmysqlが入っているためにうまくいかないのでしょうか? どのように対処すれば解決するか教えてください。 Linux初心者です。 お願いします。

  • MySQLをPHPで使おうとして

    FedoraCore(192.168.0.101)に /var/www/html/index.php: <?php $link=mysql_connect("localhost","root","12") or die("Could not connect"); print"Connected successfully"; mysql_close($link); ?> を入れて他のPC(192.168.0.100)からこれを呼びましたが Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /var/www/html/index.php on line 2 Could not connect となり接続できません /var/lib/mysql/はありmysql.sockがありません どうしたらいいのでしょうか?

    • ベストアンサー
    • MySQL
  • chroot環境とmysqlの接続について

    現在、debian上でapacheをchroot環境で動かしています。chrootのcgi(perl)からDBI::mysql 経由でmysqlに接続しようとしているのですが、出来ません。 原因としては、mysqld.sockがcgiから読み書きできるpathにないためです。そこで、/chroot/mysql/ と /mysql/mysqld.sock をハードリンクしようとしたのですが、パーティションが違うためリンクが貼れません。そこでDBIでsock経由ではなく、tcp経由で接続しようとしているのですが、DBI connect('dbname:loc alhost','username',...) failed: Can't connect to local MySQL server through socket ' /var/run/mysqld/mysqld.sock' (2) となってしまいます。connect->host db port user password で接続しようとしています。どなたか解決方法をご教授頂けませんでしょうか?すいませんが、宜しくお願い致します。

  • MySQL+PHP 接続エラーについて

    はじめて質問させて頂きます。 MySQL、PHPともに初心者です。 MAMPを使用しています。 ローカルではほぼ問題無く動作していたphpファイルをウェブ上にアップロードしたところ、以下のようなエラーが出てしまいました。 Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in~ ネットやこちらの過去ログで調べたところMAMP使用下ではよくあるエラーらしく解決法も載っていたのですが、どれを試してもなぜかエラーが消えてくれません。 ソケットもMySQLサーバー側とクライアント側で同じもの(/Applications/MAMP/tmp/mysql/mysql.sock)を参照していると思うのですが・・・ php.iniの中でも、 mysql.default_socket = /Applications/MAMP/tmp/mysql/mysql.sock と指定されてあります。 何か他に原因があるのでしょうか。 ド素人のため質問がすでにおかしいかもしれませんが、お知恵をお貸しください。 よろしくお願い致します。

    • ベストアンサー
    • MySQL