いくつかのチュートリアルに従って、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 がルート アカウントの名前を変更したり削除したりした場合に発生する問題を回避できます。このアカウントはロックされているため、クライアント接続には使用できません。