候補となるタイトルをいくつか挙げます。ただし、質問の形式である必要があることに注意してください。 * **MySQL 接続エラー: 「mysqlnd が接続できません」が発生するのはなぜですか?** * **PHP と MySQL: 方法

DDD
リリース: 2024-10-25 03:53:29
オリジナル
753 人が閲覧しました

Here are a few potential titles, keeping in mind they should be in the form of a question:

* **MySQL Connection Error: Why Does

MySQL 接続エラー: 「mysqlnd が接続できない」問題の解決

MySQL に接続しようとすると、次のエラー メッセージが表示される場合があります。 mysqlnd は、古い安全でない認証を使用して MySQL 4.1 に接続できません。」このエラーは、MySQL サーバーで使用されるパスワード ハッシュ メソッドと、PHP MySQL ドライバー mysqlnd で使用される認証メカニズムの間の不一致が原因で発生します。

解決策

Toこのエラーを解決するには、MySQL パスワード ハッシュ メソッドを新しい、より安全な形式に更新する必要があります。これには、MySQL 構成ファイル (my.cnf) を次のように変更することが含まれます:

  1. 「old_passwords = 1」を削除またはコメントアウトします:
    行「old_passwords = 1」を見つけます。 my.cnf ファイル内で「」を削除するか、先頭に「#」プレフィックスを付けてコメントアウトします。
  2. MySQL を再起動します:
    MySQL を再起動して、構成の変更。これにより、MySQL は今後、新しいパスワード ハッシュ方式を使用するようになります。
  3. 影響を受けるユーザーに新しいパスワードを設定する:
    MySQL データベースに接続し、次のクエリを実行して、古い形式のパスワードを持つユーザーを識別します:

    <code class="sql">SELECT user, Length(`Password`) FROM  `mysql`.`user`;</code>
    ログイン後にコピー

    影響を受けるユーザーごとに、PASSWORD() 関数を使用してパスワードを更新します:

    <code class="sql">UPDATE mysql.user SET Password = PASSWORD('new_password') WHERE user = 'affected_username';</code>
    ログイン後にコピー
  4. 権限をフラッシュ:
    パスワードを更新した後、権限をフラッシュして変更を反映します:

    <code class="sql">FLUSH PRIVILEGES;</code>
    ログイン後にコピー

注:

  • MySQL アカウントに強力で安全なパスワードを使用していることを確認してください。
  • それでも問題が発生する場合は、PHP エラー ログで詳細を確認してください。
  • ソースを参照してください。詳細なガイダンスとトラブルシューティング手順については、記事「PHP5.3 で「mysqlnd が古い認証を使用して MySQL 4.1 に接続できない」を修正する方法」を参照してください。

以上が候補となるタイトルをいくつか挙げます。ただし、質問の形式である必要があることに注意してください。 * **MySQL 接続エラー: 「mysqlnd が接続できません」が発生するのはなぜですか?** * **PHP と MySQL: 方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!