検索

ホームページ  >  に質問  >  本文

php mysqli_connect: クライアントにとって不明な認証方法

php を使用しています mysqli_connect MySQL データベースにログインします (すべてローカルホスト上)

リーリー

これは mysql.user テーブルです:

MySQL サーバーの ini ファイル:

リーリー

MySQL Server ini ファイルで caching_sha2_password を使用すると、user1 または user2 でログインすることはできません;

エラー: mysqli_connect(): サーバーがクライアント [caching_sha2_password] を要求しましたが、不明な認証方法です...

MySQL Server ini ファイルで mysql_native_password を使用すると、user1 でログインできますが、user2 でも同じエラーが発生します。


mySql サーバーで

caching_sha2_password を使用してログインするにはどうすればよいですか?

P粉170858678P粉170858678417日前703

全員に返信(2)返信します

  • P粉727416639

    P粉7274166392023-10-14 16:49:08

    SQL コマンドでこの問題を解決しました:

    リーリー

    参照元: https://dev.mysql。 com/doc/refman/8.0/en/alter-user.html

    新しいユーザーを作成する場合

    リーリー

    参照元: https://dev.mysql。 com/doc/refman/8.0/en/create-user.html

    これは私にとってはうまくいきました

    返事
    0
  • P粉225961749

    P粉2259617492023-10-14 15:47:19

    PHP 7.4 以降、これは問題ではなくなりました。 mysqlnd は、caching_sha2 認証方法のサポートを追加しました。


    現在、新しい caching_sha2 認証機能は PHP mysqli 拡張機能ではサポートされていません。 アップデートがリリースされるまで待つ必要があります。

    MySQL 開発者からの関連投稿を表示: https://mysqlserverteam.com/upgrading-to-mysql-8-0-default-authentication-plugin-considerations/

    PDO については言及されていません。おそらく PDO 接続を使用してみてください。

    返事
    0
  • キャンセル返事