Я следовал нескольким руководствам по установке MySQL 8.0 на Ubuntu 20.04. Все работает без сообщений об ошибках в журнале 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
Это внутренние пользователи базы данных, которых вы не должны изменять каким-либо образом.
Theустановочные скриптыдля MySQL сам создает этих пользователей и назначает этот хэш, который разработан так, чтобы никогда не совпадать ни с одним возможным паролем. Предполагается, что эти учетные записи пользователей никогда не будут использоваться для обычных подключений.
Цель этих пользователей объясняется вдокументация.
'mysql.sys'@'localhost'
: Используется какDEFINER
длясисобъекты схемы. Использованиеmysql.sys
учетной записи позволяет избежать проблем, которые возникают, если администратор базы данных переименовывает или удаляет корневую учетную запись. Эта учетная запись заблокирована, поэтому ее нельзя использовать для клиентских подключений.
'mysql.session'@'localhost'
: Используется внутри плагинами для доступа к серверу. Эта учетная запись заблокирована, поэтому ее нельзя использовать для клиентских подключений. Учетная запись является системной.
'mysql.infoschema'@'localhost'
: Используется какDEFINER
дляINFORMATION_SCHEMA
Представления. Использованиеmysql.infoschema
учетной записи позволяет избежать проблем, которые возникают, если администратор базы данных переименовывает или удаляет учетную запись root. Эта учетная запись заблокирована, поэтому ее нельзя использовать для клиентских подключений.