PHPを学習し始めたばかりの者です。


サーバ(80code)でデータベース(MySQL)を新規で作成し、
phpMyAdminにログインし、こちらでもデータベースを新規作成し、
コマンドプロンプトを開いて、
「cd C:\xammp\mysql\bin」、「mysql -u[ユーザー名] -p」と入力しました。
ここまで良い感じで進んだのですが、「Enter password」に対して、
パスワードを入力したところ、
「ERROR 1045 (28000): Access denied for user・・・」というエラーが出ます。

上記のエラーの対処法を教えてください。
環境はphp5、Windows XP、XAMPPを使用しています。
レンタルサーバを使わない場合はMySQLを使えました。
パスワードも間違ってるとは思えません。
とにかくまったくの初心者なので、
とんでもなく初歩的なミスをしている可能性があります。
それを考慮に入れつつご回答ください。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2008/03/25 10:18:45
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:pahoo No.3

回答回数5960ベストアンサー獲得回数633

ポイント26pt

しかしサーバに設定したMySQLにログインできません。

逆質問で恐縮ですが、taroemonさんの手持ちのWinowsXPパソコンにインストールした XAMPP(Apache + PHP + MySQL + pypMyAdmin)から 80code の MySQL にログインしたいというご要望ですか?

だとすると、「できない」というのがお答えです。

MySQL への不正侵入を防ぐために、phpMyAdmin は、同じサーバ(ドメイン)にある MySQL にしか接続できない設定になっています。ですから、80code の MySQL にアクセスできるのは、"http://ドメイン名/phpmyadmin/" しかありません。(本当はできないことは無いんですが、Webセキュリティに通じていない方は手を出さないようにしてください)


また、#2 で回答したように、WinowsXPパソコン の MySQL にセットアップした ID,パスワードで 80code の MySQL にログインすることもできません。

80code の ID, パスワードとまったく同じ ID, パスワード を WindowsXP 側の MySQL にセットアップすればログインはできますが、あくまで別ユーザーです。WindowsXP 側と 80code 側でデータベースの共有をすることはできません。


回答になっているでしょうか?

id:taroemon

ご回答ありがとうございます。


思い切り勘違いをしていたようです。

私の望んでいたことはもちろん不正侵入などではありません。

ただ初心者だから知らなかっただけです。


ではコマンドプロンプトで80codeにあるMySQLに

データを追加したりすることはできないということなんですね。

やっとわかりました。


もちろん回答になってます。それがわかっただけでもよかったです。

ありがとうございました。

2008/03/25 10:18:13

その他の回答2件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント27pt

状況を確認させてください。

  1. 80codeのサーバと、taroemonさんの手持ちのWinowsXPパソコンの両方にMySQLがあるということですか?
  2. 80codeのMySQLについては、phpMyAdmin経由でログインできたのですね?
  3. 手持ちのパソコンのMySQLですが、セットアップしましたか?セットアップ方法については下記サイトを参照ください。
id:taroemon

ご回答ありあがとうございます。

すみません。どう答えて良いかわかりません。

確認する方法を教えてください。

下記のページにログインできたので両方ともできてると思います。

  http://127.0.0.1/phpmyadmin/

  http://ドメイン名/phpmyadmin/

この設定はしていません。

ご指定いただいたURLにある画像は見たこともありませんし、

「my.ini」というファイルを検索しましたが見つかりませんでした。

これが原因かもしれません。初心者すぎて愕然としますが、

そういうことなのでしょうか?

ただ手持ちの本にはこのような設定がありませんし、

XAMPPのコントロールパネルにあるMySQLは起動中と表示しています。


実は「mysql -u[root] -p」でもログインできません。

以前、いじった時にパスワードを変更したのかもしれません。

質問時には気づかなかったことなのでを付けたしておきます。

2008/03/24 23:48:49
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント27pt

下記のページにログインできたので両方ともできてると思います。

  http://127.0.0.1/phpmyadmin/

  http://ドメイン名/phpmyadmin/

このことから、80codeのサーバと、taroemonさんの手持ちのWinowsXPパソコンの両方にMySQLがインストールされていると推測できますが、両者は独立した別のプログラムです。設定ファイルも異なりますので、当然、ID、パスワードは共有されません。

80codeにあるMySQLサーバについては、あらかじめサーバ管理者がIDとパスワードを割り当ててくれているはずですが、taroemonさんのパソコンのMySQLについては、ご自身で設定しなければなりません。

「my.ini」というファイルを検索しましたが見つかりませんでした。

このことから、MySQLはインストールしたものの、セットアップはなされていないと推測されます。

XAMPP for Windows セキュリティの設定」をご覧になって、MySQLのrootのIDとパスワードを登録してください。

id:taroemon

再度のご回答ありがとうございます。


ご指定いただいたリンク先を参考にして設定したところ、

ROOTに関してはコマンドプロンプトからログインできるようになりました。

しかしサーバに設定したMySQLにログインできません。

これはどのように解決したら良いのでしょうか?


おそらく初歩的なことなのでしょうが、

あともう少しですのでご回答ください。

2008/03/25 01:36:41
id:pahoo No.3

回答回数5960ベストアンサー獲得回数633ここでベストアンサー

ポイント26pt

しかしサーバに設定したMySQLにログインできません。

逆質問で恐縮ですが、taroemonさんの手持ちのWinowsXPパソコンにインストールした XAMPP(Apache + PHP + MySQL + pypMyAdmin)から 80code の MySQL にログインしたいというご要望ですか?

だとすると、「できない」というのがお答えです。

MySQL への不正侵入を防ぐために、phpMyAdmin は、同じサーバ(ドメイン)にある MySQL にしか接続できない設定になっています。ですから、80code の MySQL にアクセスできるのは、"http://ドメイン名/phpmyadmin/" しかありません。(本当はできないことは無いんですが、Webセキュリティに通じていない方は手を出さないようにしてください)


また、#2 で回答したように、WinowsXPパソコン の MySQL にセットアップした ID,パスワードで 80code の MySQL にログインすることもできません。

80code の ID, パスワードとまったく同じ ID, パスワード を WindowsXP 側の MySQL にセットアップすればログインはできますが、あくまで別ユーザーです。WindowsXP 側と 80code 側でデータベースの共有をすることはできません。


回答になっているでしょうか?

id:taroemon

ご回答ありがとうございます。


思い切り勘違いをしていたようです。

私の望んでいたことはもちろん不正侵入などではありません。

ただ初心者だから知らなかっただけです。


ではコマンドプロンプトで80codeにあるMySQLに

データを追加したりすることはできないということなんですね。

やっとわかりました。


もちろん回答になってます。それがわかっただけでもよかったです。

ありがとうございました。

2008/03/25 10:18:13
  • id:godric
    rootのデフォって最初はpassword無しじゃなかった?。
    mysql -u root -p
    で、
    パスワードを要求されたらそのままエンターキーを押してみても駄目だった?
  • id:taroemon
    godricさんコメントありがとうございます。

    >パスワードを要求されたらそのままエンターキーを押してみても駄目だった?
    これは試してみましたがだめでした。
  • id:taroemon
    現状について、質問に書かれてないことを付け足します。
    コマンドプロンプトを使い、rootでログインしようとしましたがだめでした。

    回答者1の方のご指摘通り、MySQLをセットアップしてない可能性があります。
    参考URLのページに見たことがない画面がありました。
    まったくの初心者ぶりで恐縮です。
    今、確認している最中ですのでわかり次第またコメントにお返事書きます。
  • id:shiroxcom
    しろっくす 2008/03/25 10:27:05
    少し乱暴な意見になってしまいますが、
    今はプログラミングの勉強は中断して
    自宅サーバを立てる勉強をされてはいかがでしょうか?

    PHPでローカル上でのMySQLでのテスト開発を行うプログラムは
    既にこなされているようですので、
    次にUNIX系のOSを少し勉強されてからまたPHPの勉強に戻ると、
    驚くほどスムーズに進むと思います。

    私もそうやって独学で勉強して、現在はプログラムを組む仕事をしています。
  • id:taroemon
    shiroxcomさん
    コメントありがとうございました。
    自宅サーバはごく近い将来にやってみることにします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません