• 締切済み

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

お世話になります。 現在、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
  • MySQL
  • 回答数1
  • ありがとう数2

みんなの回答

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

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

noname#99462
質問者

お礼

お忙しい中ご回答ありがとうございます。 はい、該当部分は修正し、再起動済みなのです; …と、ずっと調べている間に 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
  • 何故、通らないのでしょうか?

    何故、通らないのでしょうか? 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が起動しなくなってしまった

    サーバーとしてRed Hat Linuxを使用しているのですが、 先日OSの再起動を行った所、mysqlが起動しなくなってしまいました。 ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/m ysql.sock' (2) と表示されるので http://www.hi-ho.ne.jp/tsumiki/book_sup2.html 等を参考にしてみたのですが、 ソケットファイルが存在せず、 再作成のためのmysqlの再起動も出来ない状態です。 safe_mysqld --user=mysql & を実行すると Starting mysqld daemon with databases from /var/lib/mysql 060908 mysqld ended と表示されます。 mysqlのバージョンは3.23.58を使用しております。 手を尽くしてみたのですが、どうしてもわからず、 お力を貸していただきたいと存じます。 宜しくお願いします。

  • 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 が、インストールされているようです。 どうしても解決できないのです。 よろしくお願いします。

  • 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の作り方。

    socketって どうやって作るのですか? ご回答の程、宜しくお願い申し上げます。 /wordpress# sudo mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) root@GD348ZZD9:~/wordpress# sudo mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) root@GD348ZZD9:~/wordpress# sudo mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

  • よくわかるPHPの教科書で勉強中なのですが…

    188ページのPHPとDBで本格的なwebシステムを作るというところを勉強しているのですが、PHPをMySQLに接続したいのですがサーバーにアップするとWarning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) in /home/sites/heteml/users…/・/・/・/…/web/index.php on line 2 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) と出てきます。どのようにしたらアップできるのでしょうか? 使用しているサーバーはhetemlで動作環境はXAMPPです。localhostでは動きます。 どなたか詳しいかたご教授お願いいたします。宜しくお願い致します!

    • ベストアンサー
    • MySQL
  • Postfixをインストールしたら、MySQLが起動しなくなった

    いつもお世話になっております。 Linuxの環境構築を行っているのですが、MySQLをインストール後、Postfixをインストールしたところ、MySQLが起動しなくなってしまいました。 具体的な手順としては、 mysqld_safe & として、MySQLサーバを起動し、その後確認のために mysqladmin ping とコマンドを入力してみると、 mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)' Check that mysqld is running and that the socket: '/var/lib/mysql/mysql.sock' exists! とのエラーメッセージが出力されます。 自分なりに調べたところ、Postfixをインストールすると、/etcの中に勝手にmy.cnfが出来るらしかったので、とりあえずmy.cnfを別の名前にして、Linuxを再起動してみたのですが、同じ現象でした。 何か解決策がお分かりでしたら、教えて下さい。 宜しくお願い致します。 環境は、以下のとおりです。 OS:CentOs 5.3 MySQL:5.1.35 Postfix:2.3.3 MySQLはソースファイルから、Postfixはyumコマンドにてインストールしました。

    • ベストアンサー
    • MySQL
  • 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