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 theDEFINER
for sys schema objects. Use of themysql.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 theDEFINER
forINFORMATION_SCHEMA
views. Use of themysql.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.