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 でも同じエラーが発生します。
caching_sha2_passwordを使用してログインするにはどうすればよいですか?
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
これは私にとってはうまくいきました
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 接続を使用してみてください。