アプリ版:「スタンプのみでお礼する」機能のリリースについて

MySQLに、チャレンジしようとしています。
MySQL-5.0.45 をインストールしました。
セットアップできたようで、MySQL AdministratorツールからサンプルDBが見えました。
そこで、PHP-5.2.4から、PEAR::DBを使ってconnectしようとすると、
DB Error connect failed-24
となってしまいます。
テキストによると、確認すべき点として
 ・データベースサーバが起動していない
 ・対象のaaaデータベースが存在しない
 ・ユーザ名/パスワードが存在しない、権限がない
等を確認しているつもりですが、間違ってないように思います。
pear::logは、動きました。
他にどのあらりをチェックすればいいのでしょうか。

A 回答 (3件)

OSはなんでしょうか?



Linux系でしたらpsコマンドを用いて本当にmysqlが起動しているか確認するとよろしいと思います。
Windows系でしたらタスクマネージャからプロセスを確認するとよろしいです。

起動済みでしたら本当にそのプロセスが生きているか確認しましょう。
mysql -u USER -PPASSWORD
これでログインできれば正常でしょう。
// 入れない場合はselinuxがらみのpermissionか
// my.cnfの設定忘れのような気がします。
// 私もよくミスりますorz

ケアレスミスとしては
・大文字小文字
・ひきすうの順番が違う
・php.iniの設定ミス
くらいですかね。

この回答への補足

回答ありがとうございます。
OSは、Windows2000です。
mysqlコマンドは、正常に返ってきて、テーブル内容もselectできました。

php.iniの設定については、mysql関連は
extension=php_mysqli.dll
だけ、設定してます。他に設定があるのでしょうか。

DB::connectのパラメタについては、
$dsn=array(
"phptype"=>"mysqli",
"username"=>"root",
"password"=>"root",
"hostspec"=>"localhost",
"database"=>"pear");
$option=array(
"autofree"=> TRUE,
"debug"=>3,
"portability"=> DB_PORTABILITY_ALL);
$db=DB::connect($dsn,$option);
としてます。
どこが違うのでしょうか。

補足日時:2007/10/15 23:52
    • good
    • 0

my.cnfはmysqlコマンドが起動しているならば設定が済んでいますよ。


basedirの項目をインストールしたディレクトリに指定しないとそもそも起動しないのです。

で、原因ですが10061のエラーは「mysqlサーバが起動していません」とのこと。
windowsでしたらサービスから起動するのが一般的と思います。
コンパネから[管理]-[サービス]を見てMysqlが自動で起動しているか確認してみてください。
そもそもmysqlがない場合は

mysqld --install

これで追加されるはずです。
詳細はurl参照してください。

参考URL:http://dev.mysql.com/doc/refman/5.1/ja/windows-s …

この回答への補足

> 10061のエラーは「mysqlサーバが起動していません」..Mysqlが自動で起動しているか確認してみてください。
[サービス]からMySQLの状態を見ると、自動起動になっていて、「開始」となっています。=>起動されているとみていいですか。

再度、PHPで、CONNECTを実行しましたが、エラーは同じでした。
接続失敗:DB Error: connect failed-24 [nativecode=Can't connect to MySQL server on 'localhost' (10061)] ** mysqli(mysqli)://pearusr:PASSWORD@localhost/pear

他に、どこを確認すればいいでしょうか。

補足日時:2007/10/28 00:41
    • good
    • 0

mysqlが正常であればあとはdsnの異常か、そもそもpearに異常があるか、しかなさそうですね。


// my.cnfなどの設定はmysqlがwindowsと違うパーティションにインストールされているときなどに
// 設定が必要になります。

$db->getMessage()や$db->getDebugInfo()は何を返すのでしょう。

この回答への補足

回答ありがとうございます。
(1)インストール場所
  db(\mysqldatafiles)をe:\に設定してます。
  my.cnf とは、どこにあって、どう確認すればいいでしょうか。
(2)エラー表示内容
getMessage() = DB Error: connect failed
getCode() = -24
getDebuginfo()= [nativecode=Can't connect to MySQL server on 'localhost' (10061)]
** mysqli(mysqli)://root:PASSWORD@localhost/pear

基本的なことが、間違っているのでしょうが、初心者でよくわかりません。
よろしくお願いします。

補足日時:2007/10/16 22:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!