Comment réinitialiser le mot de passe racine MariaDB sur une instance Amazon Elastic Compute Cloud (Amazon EC2) exécutant Amazon Linux 2?
Brève description
Par défaut, MariaDB 5.5 sur Amazon Linux 2 n'a pas de mot de passe racine. Si vous créez un mot de passe racine pour MariaDB, puis ne pouvez plis accéder à votre base de données, vous devez réinitialiser le mot de passe racine.
Remarque : vous ne pourrez pas interroger votre base de données pendant que vous réinitialisez le mot de passe racine.
Résolution
1. Vérifiez que vous disposez d'un instantané récent du volume sur lequel réside le répertoire de données MariaDB. Vous pouvez recréer le volume à partir de cet instantané, si nécessaire.
2. Arrêtez le service MariaDB :
sudo systemctl stop mariadb
3. Démarrez MariaDB en mode sans échec :
sudo mysqld_safe --skip-grant-tables --skip-networking &
4. Exécutez la commande suivante pour définir l'historique des commandes MariaDB sur**/dev/null** et connectez-vous au moniteur MariaDB:
Important : La définition de l'historique des commandes /dev/null empêche les informations de votre mot de passe d'apparaître en clair dans le fichier d'historique. Vous pouvez réinitialiser cette valeur après avoir terminé la procédure complète.
export MYSQL_HISTFILE=/dev/null
mysql -u root
5. Modifiez votre mot de passe racine MariaDB :
UPDATE mysql.user SET Password = PASSWORD('new_password_here') WHERE User = 'root';
La sortie est similaire à celle-ci :
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
6. Vide les privilèges pour recharger les tables d'octroi. Votre nouveau mot de passe prend effet après le rechargement:
FLUSH PRIVILEGES;
7. Quittez le moniteur MariaDB :
exit
8. Arrêtez le processus MariaDB :
sudo kill `sudo cat /var/run/mariadb/mariadb.pid`
Remarque : l'arrêt du processus peut prendre quelques secondes.
9. Démarrez le service MariaDB :
sudo systemctl start mariadb
10. Testez votre nouveau mot de passe racine MariaDB :
mysql -u root -p