Unbuntu 20.04 への MySQL 8.0 のインストール authentication_string メッセージ

Unbuntu 20.04 への MySQL 8.0 のインストール authentication_string メッセージ

いくつかのチュートリアルに従って、Ubuntu 20.04 に MySQL 8.0 をインストールしました。すべてが機能し、mysql ログにエラーは報告されませんでした。

疑問なのは、このコマンドを入力すると次のようになるということです。

SELECT user,authentication_string,plugin,host FROM mysql.user;

ユーザーが使用した認証方法の出力を返します。

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
6 debian+b #\siDqHjswpns2/K47l/F308RUepcThPVhJGQr2RWJk22 | caching_sha2_password | localhost |

| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |

| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |

| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |

| root | $A$005$dTc)W-"llags)qp0o48Ov..6NwzAnLhuMRrkttballyzCE16p6zoOE4 | caching_sha2_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
6 rows in set (0.03 sec)

すべてのユーザーには数字、文字、記号authentication_strings(上記と同じ) がありますが、mysql.session, mysql.infoschema and mysql.sys authentication_strings次のメッセージが含まれています:

$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED

これはどういう意味ですか、問題がありますか?

MySQL 8.0 のドキュメントを含めて徹底的に検索しましたが、authentication_string 内の特定のメッセージに関する回答は見つからないようです。

私の LAMP スタックではすべて正常に動作しているようなので、この問題を解決しようとはしていません。

答え1

これらは内部データベース ユーザーであり、いかなる形でも変更しないでください。

インストールスクリプトMySQL 自体がこれらのユーザーを作成し、このハッシュを割り当てます。このハッシュは、いかなるパスワードとも一致しないように設計されています。これらのユーザー アカウントは、通常の接続には使用されないように設計されています。

これらのユーザーの目的については、ドキュメンテーション

  • 'mysql.sys'@'localhost': のDEFINER用途として使用されるシステムスキーマ オブジェクト。このmysql.sysアカウントを使用すると、DBA がルート アカウントの名前を変更したり削除したりした場合に発生する問題を回避できます。このアカウントはロックされているため、クライアント接続には使用できません。

  • 'mysql.session'@'localhost': プラグインがサーバーにアクセスするために内部的に使用します。このアカウントはロックされているため、クライアント接続には使用できません。このアカウントはシステム アカウントです。

  • 'mysql.infoschema'@'localhost': のDEFINER用途として使用されるINFORMATION_SCHEMAビュー。このmysql.infoschemaアカウントを使用すると、DBA がルート アカウントの名前を変更したり削除したりした場合に発生する問題を回避できます。このアカウントはロックされているため、クライアント接続には使用できません。

関連情報