"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Reprendre le contrôle de l'utilisateur root dans MySQL

Reprendre le contrôle de l'utilisateur root dans MySQL

Publié le 2024-08-26
Parcourir:591

Retake control of the root user in MySQL

Lorsque vous avez installé MySQL pour la première fois, vous ne pouvez pas vous connecter sans mot de passe.
Vous devez ajouter la ligne suivante dans my.cnf pour vous connecter sans mot de passe.

skip-grant-tables

Il présente un risque de sécurité énorme, vous devez donc définir un mot de passe pour empêcher tout accès externe illégal.

Comment reprendre le contrôle de l'utilisateur root dans MySQL

Étape 1 : Connectez-vous à MySQL

mysql

Étape 2 : Utilisation de la base de données principale

use mysql;

Étape 3 : Redéfinir le mot de passe root de l'utilisateur

UPDATE user SET `authentication_string` = PASSWORD('myNuevoPassword') WHERE `User` = 'root';

Prudence
Si vous ne pouvez pas exécuter la commande, vous devez vérifier la colonne Authentication_string de la table mysql.user.

SELECT User, authentication_string  FROM mysql.user\G
*************************** 1. row ***************************
                 User: mysql.infoschema
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 2. row ***************************
                 User: mysql.session
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 3. row ***************************
                 User: mysql.sys
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 4. row ***************************
                 User: root
W&2-*D:1FsLlMJEFsvaZNpaAlnJDEyTNo2QO7Eu7P0rhe10psBsC
4 rows in set (0.00 sec)

Et vous exécutez la commande suivante.

UPDATE user SET `authentication_string` = 'myNuevoPassword' WHERE `User` = 'root';

Étape 4 : Afficher la table mysql.user si vous pouvez modifier le mot de passe root

SELECT User, authentication_string  FROM mysql.user\G
*************************** 1. row ***************************
                 User: mysql.infoschema
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 2. row ***************************
                 User: mysql.session
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 3. row ***************************
                 User: mysql.sys
authentication_string: $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
*************************** 4. row ***************************
                 User: root
authentication_string: ZAQ$2wsx2408
4 rows in set (0.00 sec)

Étape 5 : Effacer la ligne de my.cnf

skip-grant-tables

Étape 6 : Redémarrer le service MySQL

sudo systemctl restart mysqld

Étape 7 : Connectez-vous à MySQL avec un mot de passe

mysql -u root -p
Enter password: [new password]

mysql> 

Lorsque vous devez effectuer cette action, veuillez l'utiliser avec précaution !

Déclaration de sortie Cet article est reproduit sur : https://dev.to/kyotanakada/retake-control-of-the-root-user-in-mysql-308h?1 En cas de violation, veuillez contacter [email protected] pour supprimer il
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3