Maison > base de données > tutoriel mysql > le corps du texte

mysql a oublié le mot de passe root

WBOY
Libérer: 2023-05-12 10:59:06
original
573 Les gens l'ont consulté

MySQL est un système de gestion de base de données relationnelle couramment utilisé pour créer des applications Web et gérer des données. Dans MySQL, l'utilisateur root est l'utilisateur disposant des privilèges les plus élevés et est généralement utilisé pour gérer l'intégralité de la base de données. Mais dans certains cas, nous pouvons oublier le mot de passe de l’utilisateur root. Cet article présentera quelques méthodes courantes pour réinitialiser le mot de passe de l'utilisateur root MySQL.

  1. Utilisez mysqld_safe pour démarrer MySQL

Si vous oubliez le mot de passe de l'utilisateur root, la première méthode que vous devriez essayer est d'utiliser mysqld_safe pour démarrer le service MySQL. Cette méthode démarre MySQL sans nécessiter de mot de passe et vous permet de modifier le mot de passe de l'utilisateur root. Les étapes sont les suivantes :

Tout d’abord, arrêtez le service MySQL.

$ sudo systemctl stop mysql

Ensuite, utilisez mysqld_safe pour démarrer le service MySQL et spécifiez --skip-grant-tables.

$ sudo mysqld_safe --skip-grant-tables &

--skip-grant-tables Le paramètre fera que MySQL ignorera la liste de contrôle d'accès, ce qui signifie que n'importe qui peut se connecter au serveur MySQL avec les privilèges root. Pour cette raison, vous devez vous assurer que seuls les utilisateurs de confiance ont accès au serveur.

Ensuite, connectez-vous au serveur MySQL dans une autre fenêtre de terminal.

$ mysql -u root

Dans l'invite MySQL, exécutez la commande suivante pour modifier le mot de passe de l'utilisateur root.

mysql> UPDATE mysql.user SET ignition_string=PASSWORD('new_password') WHERE User='root';

Dans cette commande, remplacez new_password par votre nouveau mot de passe.

Enfin, quittez MySQL et redémarrez le service MySQL.

mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl start mysql

Vous pouvez maintenant vous connecter en tant qu'utilisateur root avec le nouveau mot de passe !

  1. Utilisez le script mysql_secure_installation

Si vous ne pouvez pas utiliser mysqld_safe pour démarrer MySQL, vous pouvez également essayer d'utiliser le script mysql_secure_installation pour réinitialiser le mot de passe de l'utilisateur root. Ce script peut effectuer rapidement certains réglages pour MySQL, notamment la réinitialisation du mot de passe de l'utilisateur root, la suppression des utilisateurs anonymes, la désactivation de la connexion à distance, etc.

Tout d'abord, exécutez la commande suivante pour installer le script mysql_secure_installation.

$ sudo apt-get update
$ sudo apt-get install mysql-server

Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour exécuter le script mysql_secure_installation.

$ sudo mysql_secure_installation

Pendant le processus en cours, vous devez répondre à plusieurs questions, notamment la définition du mot de passe de l'utilisateur root, la suppression des utilisateurs anonymes, etc. Lors de la définition d'un mot de passe, même si vous avez oublié le mot de passe d'origine de l'utilisateur root, vous pouvez le laisser vide et choisir de définir un nouveau mot de passe. Une fois que tout est configuré, vous pourrez vous connecter en tant que root en utilisant votre nouveau mot de passe.

  1. Démarrez MySQL en utilisant le paramètre skip-grant-tables

Si aucune des deux méthodes ci-dessus ne fonctionne, la dernière tentative consiste à démarrer MySQL en utilisant le paramètre skip-grant-tables. Bien que cette méthode puisse démarrer MySQL, elle laisse la base de données dans un état vulnérable et ne doit pas être utilisée dans un environnement de production.

Tout d'abord, recherchez le fichier de configuration MySQL my.cnf ou my.ini. Le fichier doit contenir les lignes suivantes :

[mysqld]
skip-grant-tables

Si le fichier n'existe pas, vous pouvez créer un nouveau fichier, ajouter les deux lignes ci-dessus au fichier et l'enregistrer sous my. cnf ou mon.ini.

Ensuite, utilisez la commande suivante pour redémarrer MySQL.

$ sudo systemctl restart mysql

Après le redémarrage, vous pourrez vous connecter à MySQL en tant qu'utilisateur root sans saisir de mot de passe. À l'invite MySQL, entrez la commande suivante pour modifier le mot de passe de l'utilisateur root.

mysql> UPDATE mysql.user SET ignition_string=PASSWORD('new_password') WHERE User='root';

Remplacez new_password par votre nouveau mot de passe, puis quittez MySQL et redémarrez le service MySQL.

mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl restart mysql

Vous pouvez maintenant vous connecter en tant qu'utilisateur root avec le nouveau mot de passe !

Résumé

Oublier le mot de passe de l'utilisateur root MySQL est un problème courant, mais il existe plusieurs façons de le résoudre. Dans la plupart des cas, la réinitialisation du mot de passe est facile à l'aide des scripts mysqld_safe ou mysql_secure_installation. Si ces méthodes ne fonctionnent pas, démarrer MySQL avec le paramètre skip-grant-tables peut être un dernier recours, mais n'est pas recommandé dans un environnement de production.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal