Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment utiliser un mot de passe natif avec MySQL 5.7

MySQL a commencé à utiliser des comptes système pour accepter les connexions depuis la version 5.7 en utilisant auth_socket plug-in de mot de passe. Il peut être nécessaire de se connecter au serveur MySQL en utilisant le compte root avec un mot de passe en utilisant l'option mysql_native_password. Nous pouvons modifier le comportement par défaut du compte root pour utiliser un mot de passe natif à l'aide des commandes décrites ci-dessous.

# Login to MySQL
sudo mysql

# Check password scheme of root user
SELECT user,authentication_string,plugin,host FROM mysql.user;

# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

# Change password plugin of root user
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<pw>';

# Apply changes
flush privileges;

# Check password scheme of root user
SELECT user,authentication_string,plugin,host FROM mysql.user;

# Note the password plugin of root user
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *E5C4F73D963132CEF9BB4PA79LA818C08BAQC300 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+

C'est ainsi que nous pouvons utiliser le plugin de mot de passe natif pour un utilisateur MySQL.