MySQL 8.0 Installation on Unbuntu 20.04 authentication_string Message

i followed several tutorials to install MySQL 8.0 on Ubuntu 20.04. Everything works with no errors reported in the mysql log.

The question i have is that when i enter this command:

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

it returns the output of the authentication method used by the users.

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| 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)

All the users have number, letter, character, authentication_strings (as above), however mysql.session, mysql.infoschema and mysql.sys authentication_strings contain this message:

$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED

What does this mean, is it a problem?

I searched all over including MySQL 8.0 Docs but there does not seem to be an answer in relation to that specific message in the authentication_string.

I haven't tried to resolve this as all seems to be working fine on my L A M P stack.


Solution 1:

These are internal database users which you should not alter in any way.

The installation scripts for MySQL itself create these users and assign this hash, which is designed to never match any possible password. It is intended that these user accounts never be used for regular connections.

The purpose of these users is explained in the documentation.

  • 'mysql.sys'@'localhost': Used as the DEFINER for sys schema objects. Use of the mysql.sys account avoids problems that occur if a DBA renames or removes the root account. This account is locked so that it cannot be used for client connections.

  • 'mysql.session'@'localhost': Used internally by plugins to access the server. This account is locked so that it cannot be used for client connections. The account is a system account.

  • 'mysql.infoschema'@'localhost': Used as the DEFINER for INFORMATION_SCHEMA views. Use of the mysql.infoschema account avoids problems that occur if a DBA renames or removes the root account. This account is locked so that it cannot be used for client connections.