4 に答える
php/mysql では、localhost と 127.0.0.1 に違いがある場合があります。
mysql では、ホスト名に基づいてアクセスを許可します。ローカル ユーザーの場合、これは localhost になります。config 'localhost' が定義されていても、php が localhost ではなく 'myservername' に接続しようとしているのを見ました。
mysql で 127.0.0.1 のアクセスを許可し、php で 127.0.0.1 ポート 3306 経由で接続してみてください。
誰かがまだ興味を持っている場合: 私はこの特定の問題を解決したことはありません。MySQL を実行していたハードウェアに問題があったようです。それ以来、そのようなものをリモートで見たことはありません。
あなたの更新を読んだ後、パスワードにエラーがあると思います。PW に「奇妙な」文字を使用していませんか (utf-8/iso エンコーディングの問題を引き起こす可能性があります)。
Host フィールドで % を使用すると、ユーザーは任意のホストから接続できます。したがって、間違っている可能性があるのはパスワードだけです。
別のユーザーを作成できますか。「'somesimplepw' で識別される '...'@'%' に対してすべて許可する」構文を使用して、そのユーザーとの接続を試みますか? 「特権をフラッシュする」ことを忘れないでください
新しいユーザーの作成方法については、ここをクリックしてください
今日、Web ホスティング プロバイダーの FTP サービスに問題が発生したため、Web サイトで動作するローカル仮想 Web サーバーを実現することにしました。phpMyAdmin を使用して EasyPHP 14.1 をインストールし、テーブルを使用してユーザーとデータベースを作成しました。
最初の試行: 失敗しました。探していたテーブルが存在しないことに気付きました。->不足しているテーブルの作成を解決しました。
2 回目の試行: 失敗しました。新しいユーザーに設定したユーザー名が、接続に使用したユーザー名と異なることに気付きました。-> ユーザー名を編集しました。
3 回目の試行: 失敗しました。新しいデータベース名が、自分のサイトで接続に使用しているデータベース名と異なることに気付きました。-> db名を編集しました。
4 回目の試行: 失敗しました。新しいユーザーの特権の間に「付与」がないことに気付きました。「Grant」の意味も分からないのですが、有効にしてみましょう -> 「Grant」権限を追加しました。
5 回目の試行: 勝ちました!
私の小さな冒険が誰かの役に立てば幸いです。=)