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