我按照几个教程在 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 重命名或删除根帐户时出现的问题。此帐户已锁定,因此无法用于客户端连接。