1. ホーム
  2. python

[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。

2022-07-31 06:31:42

質問

PythonコネクタでMySQLサーバーに接続しようとしています。私は新しいユーザー lcherukuri を認証プラグインで作成しました。 mysql_native_password .

しかし、私はエラーが発生しました

mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported.

誰かが私を助けることができますか?

import mysql.connector

cnx = mysql.connector.connect(user='lcherukuri', password='password',
                              host='127.0.0.1',
                              database='test')
cnx.close()

どのように解決するのですか?

以下の通りです。 キャッシュ SHA-2 プラガブル認証

<ブロッククオート

MySQL 8.0では caching_sha2_password はデフォルトの認証プラグインであり mysql_native_password .

あなたが使っているのは mysql_native_password を使っていますが、これはもはやデフォルトではありません。もし、あなたが を使用していると仮定すると、あなたのバージョンに適したコネクタ を使用している場合、次のように指定する必要があります。 auth_plugin 引数 接続オブジェクトをインスタンス化する際に

cnx = mysql.connector.connect(user='lcherukuri', password='password',
                              host='127.0.0.1', database='test',
                              auth_plugin='mysql_native_password')

同じドキュメントから

その connect() メソッドは auth_plugin 引数をサポートしており、これを使うと特定のプラグインを強制的に 使用することができます。例えば、もしサーバが sha256_password を使うように設定されており、かつ mysql_native_password を使って認証するアカウントに接続したい場合は、SSL を使って接続するか auth_plugin='mysql_native_password' .