Pour fournir un accès multi-utilisateurs à un certain nombre de bases de données, un système de gestion de base de données relationnelle a été développé qui s'exécute sur un serveur et appelé MySQL. MySQL est développé sous licence publique générale GNU et son code source est disponible selon ses termes définis. MySQL est un choix populaire de base de données à utiliser dans les applications Web et il fonctionne très bien avec les comptes d'hébergement cPanel pour stocker les données de tous les sites Web. Et supposons que si vous avez oublié le mot de passe root MySQL et que vous ne parvenez pas à accéder à votre service MySQL, vous devez réinitialiser le mot de passe de l'utilisateur root MySQL en suivant les étapes suivantes qui sont expliquées dans cet article.
Voyons les étapes pour réinitialiser le mot de passe racine MYSQL pour le serveur Plain, le serveur cPanel et le serveur Plesk.
Réinitialiser le mot de passe racine MySQL pour le serveur ordinaire
Étapes pour réinitialiser le mot de passe root MySQL pour le serveur ordinaire, sur Centos 6 Plain.
Étape 1 : [email protected] [~]# /etc/init.d/mysqld stop Ou [email protected] [~]# service mysqld stop
Étape 2 : Démarrez le serveur MySQL sans mot de passe :
[email protected] [~]# mysqld_safe –skip-grant-tables &
Étape 3 : [email protected] [~]# mysql
Après cela, vous pouvez obtenir l'invite mysql puis exécuter la commande suivante.
Étape 4 : mysql>utiliser mysql ;
Étape 5 : mysql> MISE À JOUR user SET password=PASSWORD(‘NEWPASSWORD’) WHERE User=’root’;
Étape 6 : mysql> quitter
Étape 7 : [email protected] [~]# /etc/init.d/mysqld stop
Étape 8 : [email protected] [~]# /etc/init.d/mysqld start
Vous pouvez maintenant accéder à votre service mysql en utilisant
Étape 9 : [[email protected] ~]# mysql -u root -p
Sur Centos 7 plaine ci-dessous les commandes
Grâce à SystemD, vous devez utiliser la commande suivante
Étape 1 : [email protected] [~]# systemctl stop mysql
Étape 2 : [email protected] [~]# systemctl set-environment MYSQLD_OPTS="–skip-grant-tables"
Étape 3 : [email protected] [~]# systemctl start mysql
Étape 4 : [email protected] [~]# systemctl status mysql
Étape 5 : [email protected] [~]# mysql -u root
Étape 6 : mysql> utiliser mysql ;
Étape 7 : mysql> UPDATE user SET password=PASSWORD(‘NEWPASSWORD’) WHERE User=’root’;
Étape 8 : mysql> PRIVILÈGES FLUSH ;
Étape 9 : [email protected] [~]# systemctl stop mysql
Étape 10 : [email protected] [~]# systemctl unset-environment MYSQLD_OPTS
Étape 11 : [email protected] [~]# systemctl start mysql
Vous pouvez maintenant accéder à votre service mysql en utilisant
Étape 12 : [[email protected] ~]# mysql -u root –p
Grâce à SysVinit, vous devez utiliser la commande suivante
- [email protected] [~]# /etc/init.d/mysqld stop
- [email protected] [~]# mysqld_safe –skip-grant-tables &
- [email protected] [~]# systemctl status mysql
- [email protected] [~]# mysql -u root
- mysql> utiliser mysql ;
- mysql> UPDATE user SET password=PASSWORD(‘NEWPASSWORD’) WHERE User=’root’;
- mysql> PRIVILÈGES FLUSH ;
- [email protected] [~]# /etc/init.d/mysql stop
- [email protected] [~]# /etc/init.d/mysql start
Vous pouvez maintenant accéder à votre service mysql en utilisant
[[email protected] ~]# mysql -u root –p
Étapes pour le serveur cPanel
Étape 1 : Sur tous les serveurs en cours d'exécution cPanel/WHM, les informations d'identification MySQL racine sont stockés localement dans un fichier. Ce fichier est accessible uniquement à l'utilisateur root.
Vous devez vous connecter à la CLI du serveur en tant qu'utilisateur root et afficher les informations d'identification dans le fichier /root/.my.cnf
Commande-
[email protected] [~]# chat /root/.my.cnf
Cela devrait générer un résultat contenant le mot de passe MySQL , qui ressemblera à ce qui suit :
[email protected] [~]# chat /root/.my.cnf
[client] password="Mot de passe"
utilisateur=racine
Notez le mot de passe actuel.
Étape 2 : Le mot de passe peut également être restauré le mot de passe racine MySQL à partir de WHM
- Se connecter à WHM
- Aller à l'option SQL Services
- Sélectionnez le mot de passe racine MySQL
- Entrez le nouveau mot de passe et cliquez sur le bouton Modifier le mot de passe.
- Ce processus modifiera le mot de passe root MySQL du serveur.
Étape 3 : Si les deux étapes mentionnées ci-dessus ne fonctionnent pas pour réinitialiser le mot de passe root, suivez les étapes pour réinitialiser le mot de passe du serveur Plain.
Étapes pour le serveur Plesk
Sur un serveur Plesk, l'administrateur est l'utilisateur principal.
Remarque :Cette solution s'applique à une situation où le mot de passe de l'utilisateur "admin"@"localhost" a été modifié manuellement.
Définissez le mot de passe administrateur MySQL égal au mot de passe spécifié dans /etc/psa/.psa.shadow fichier.
Étapes :
Étape 1 : Connectez-vous au serveur Plesk via SSH.
Étape 2 : Téléchargez le script pour la restauration automatisée de l'administration MySQL :
# curl -LO https://plesk.zendesk.com/hc/article_attachments/360042955514/213364309-restore-admin-user.php.tar.gz
Étape 3 : Déballez-le :
# tar xf 213364309-restore-admin-user.php.tar.gz
Étape 4 : Exécutez le script :
# plesk php 213364309-restore-admin-user.php
Étape 5 : Essayez à nouveau d'accéder à Plesk. Si la solution automatisée n'a pas aidé, appliquez la solution manuelle.
Vérifions la solution manuelle :
Étape 1 : Connectez-vous au serveur Plesk via SSH.
Étape 2 : Avec la commande ci-dessous, vérifiez si la directive old-passwords existe dans le fichier de configuration MySQL my.cnf (aucune sortie signifie qu'elle n'existe pas) :
# grep -ir anciens mots de passe /etc/my*
S'il existe, supprimez-le à l'aide d'un éditeur de texte.
Étape 3 : Obtenez un mot de passe haché de l'utilisateur administrateur MySQL et copiez-le dans le presse-papier :
Remarque :Assurez-vous qu'un seul mot de passe est spécifié dans le fichier.
# grep AES /etc/psa/.psa.shadow
Voici un exemple de mot de passe haché :
$AES-128-CBC$ZmY/EEpy1+TwCNq5kalqSA==$Pd02kf4TTlpXdi/qyeo92w==
Étape 4 : Modifier mon fichier.cnf :
- Sur les distributions basées sur CentOS/RHEL
# vi /etc/mon.cnf
- Sur les distributions basées sur Debian/Ubuntu
# vi /etc/mysql/mon.cnf
[mysqld]
sauter-granter-tables <…>
Étape 5 : Redémarrez MySQL. La commande dépend de la version de MySQL et du système d'exploitation :
# redémarrage du service mariadb
# redémarrage du service mysql
# redémarrage du service mysqld
Étape 6 : Connectez-vous à MySQL :
# base de données plesk
Étape 7 : Basculez vers la base de données mysql :
mysql> utilise mysql ;
Étape 8 : Trouver la version de MySQL :
mysql> SÉLECTIONNER LA VERSION();
Étape 9 : Rechargez le cache des tables ACL :
mysql> PRIVILÈGES FLUSH ;
Remarque :Une fois la commande ci-dessus exécutée, ne quittez pas la session MySQL en cours car cette commande recharge les tables de droits.
Étape 10 : Restaurer l'utilisateur administrateur MySQL :
- Pour MySQL 5.1 jusqu'à 5.6 et MariaDB 5.5 jusqu'à 10.4
1. Supprimez l'utilisateur administrateur actuel :
mysql> SUPPRIMER L'UTILISATEUR ‘admin’@’localhost’ ;
2. Créez un nouvel utilisateur administrateur avec le mot de passe haché à partir de l'étape 3 :
mysql> CRÉER UN UTILISATEUR 'admin'@'localhost' IDENTIFIÉ PAR 'HASHED_PASSWORD_FROM_STEP_3' ;
3. Accordez toutes les autorisations à l'utilisateur administrateur :
mysql> GRANT ALL ON *.* TO 'admin'@'localhost' AVEC GRANT OPTION;
4. Quittez MySQL :
mysql> quitter
- Pour MySQL 5.7 jusqu'à 8.0
1. Supprimez l'administrateur actuel utilisateur :
mysql> SUPPRIMER L'UTILISATEUR ‘admin’@’localhost’ ;
2. Créez un nouvel utilisateur administrateur avec le mot de passe haché à partir de l'étape 3 :
mysql> CRÉER UN UTILISATEUR ‘admin’@’localhost’ IDENTIFIÉ AVEC ‘mysql_native_password’ PAR ‘HASHED_PASSWORD_FROM_STEP_3’ ;
3. Accordez toutes les autorisations à l'utilisateur administrateur :
mysql> GRANT ALL ON *.* TO 'admin'@'localhost' AVEC GRANT OPTION;
4. Quittez MySQL :
mysql> quitter
Étape 11 : Supprimer les skip-grant-tables ligne du fichier my.cnf (étape 4).
Étape 12 : Redémarrez MySQL :
# redémarrage du service mariadb
# redémarrage du service mysql
# redémarrage du service mysqld