• 締切済み

mysql.sockが消えてなくなった

お世話になります。 Fedora10をベースにして、yumでMySQLをインストールして動かしています。2~3日前、突然MySQLが起動しなくなり、下記のメッセージが出てストップします。findでmysql.sockを探しても、どこにも見当たりません。どなたか、mysql.sockの復旧方法などお教えいただければ、助かります。エラーメッセージおよび環境などは下記です。 ERROR2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'(2) 環境 OS: Fedora10 MySQL Version: 5.0.84---phpinfo()で参照したClient API version 以上

  • MySQL
  • 回答数2
  • ありがとう数5

みんなの回答

回答No.2

MySQLのメーリングリストの方でも、アドバイスをもらっているようですが、最新の情報はどれでしょうか?

kataken001
質問者

お礼

chukenkenkouさん お騒がせしました。 Fedoraを再インストールして解決しました。 システムに問題があったようです。

kataken001
質問者

補足

chukenkenkouさん お世話になります。 以前から時々、こちらの方でアドバイスをいただいていた状況で、今回も質問を出してみました。 進展が見られなかった時点で、MySQLユーザー会の方にも助けを求めている次第です。混乱させ申し訳ありません。 当方でも、現在エラーの的が絞られている状況なので、MySQLのインストールをyum以外の方法でやってみようかと思っています。

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

phpで接続したときのエラーですか? mysqlを再起動してもだめですか?

kataken001
質問者

お礼

yambejpさん お騒がせしました。 Fedoraを再インストールして解決しました。 システムに問題があったようです。

kataken001
質問者

補足

yambejpさん 早速のご回答有難うございます。 >phpで接続したときのエラーですか? phpで接続した場合は、DBに接続できない旨のメッセージ(PGの)がでます。 >mysqlを再起動してもだめですか? コマンドラインで /etc/init.d/mysqld restart とした場合、停止も、起動も[失敗] メニューから、[システム]→[管理]→[サービス]でmysqldを一旦無効にして、再度有効にしても状態は変わりません。

関連するQ&A

  • php.iniのMYSQL_SOCKET

    phpinfo()で以下のように表示されました MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 4.0.25 MYSQL_MODULE_TYPE external MYSQL_SOCKET /var/lib/mysql/mysql.sock ここで表示されたMYSQL_SOCKETの値はphp.iniで変更可能ですか? また、Client API version の値はphpinfo()を実行した時にどこから取って来ているのか教えてください。

    • 締切済み
    • PHP
  • ソケットエラーについて(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をあたってみたらいいのか。 みなさんのご意見をお聞かせいただければ幸いです。 あと参考になるような本があれば教えてください。 よろしくお願いします。

  • 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
  • MySQLが起動できない

    Can't connect to local MySQL server through socket '/tmp/mysql.sock'ていうエラーメッセージ が出てしまいます。解決方法を教えてください

    • ベストアンサー
    • MySQL
  • MySQLをはじめて実行してみると

    [root@localhost root]# /usr/bin/mysql ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) [root@localhost root]# となりました 何が悪いのでしょうか?

  • 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の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
  • 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
  • PDO_MYSQLを利用したDB接続ができない

    閲覧ありがとうございます。 次のコードを実行してMYSQLへの接続をしようとすると以下のようなエラーになってしまいます。 エラー!: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) try { $dbh = new PDO('mysql:host=localhost;dbname=DB名', 'ユーザ名', 'パスワード'); } catch (PDOException $e) { print "エラー!: " . $e->getMessage() . "<br/>"; die(); } どなたか原因が分かる方はご教授いただければと思います。 ちなみにmysql_connect()でなら接続できます。 phpinfoを確認すると、確かにPDO、PDO_MYSQLは表示されています。

    • ベストアンサー
    • PHP
  • DBD::Mysql が使用する標準のsocketはどこから得ているか?

    以下のようなスクリプトで、以下のようなエラーになっています。 port(socket)を指定しているにもかかわらず使用されない理由も分からないのですが、エラーメッセージのsocketはどこで設定されているのでしょうか? /etc/my.cnf で /tmp/mysql.sock を指定し、サーバーとクライアントは問題なく通信できています。 よろしくお願いします。 ■perlスクリプト ---------------------------------------- #!/usr/local/bin/perl use DBI; $user = 'usr'; $passwd = 'password'; $ds = 'DBI:mysql:db_name;host=localhost;port=/tmp/mysql.sock'; $db = DBI->connect($ds, $user, $passwd); (以下略) ■perlスクリプトのエラー ---------------------------------------- $ ./script_name.pl DBI connect('db_name;host=localhost;port=/tmp/mysql.sock','root',...) failed: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) at ./script_name.pl line 9 ■環境 ---------------------------------------- mysql:バイナリの(rpmでないやつ)4.0.24-standard OS:Linux 2.4.20-31.9(REDHAT) DBD:DBD-mysql-2.9004

    • ベストアンサー
    • Perl