Je n'ai pas utilisé la base de données mysql locale depuis longtemps. Peut-être qu'un jour où j'ai soudainement besoin de l'utiliser, mon mot de passe est oublié. Il est difficile de désinstaller et de réinstaller, alors que dois-je faire? Il peut être résolu en changeant le mot de passe.
Système d'exploitation: win10;
version de la base de données mysql: mysql-8.0.16
répertoire d'installation de mysql: D: \ Program Files
Les étapes suivantes sont expliquées ci-dessous:
1. Ouvrez la première fenêtre DOS
Entrez les commandes suivantes dans l'ordre
cd D:\Program Files\mysql-8.0.16-winx64\bin
net stop Mysql8
mysqld --console --skip-grant-tables --shared-memory
Effet d'exécution:
Explication de la commande:
Commande 1: Ouvrez le sous-répertoire bin du répertoire d'installation de mysql sur l'ordinateur local (ajustez en fonction de votre propre chemin d'installation), car il contient le fichier exécutable mysqld.exe, entrez dans ce répertoire pour que les commandes mysqld suivantes prennent effet .
Commande 2: Arrêtez le service mysql. J'ai défini le nom du service sur Mysql8 avant, voici donc "net stop Mysql8". Si le nom du service mysql local est mysql, il doit être changé en "net stop mysql".
Commande 3: indique que l'authentification de la table d'autorisation est ignorée lors du démarrage du service MySQL. Puisque mysqld –skip-grant-tables n'est pas valide dans mysql8.0, utilisez maintenant la commande: mysqld --console --skip-grant-tables --shared-memory.
Remarque: utilisez le mode administrateur pour ouvrir, sinon cela entraînera l'échec de l'exécution de la commande "net stop Mysql8", vous invitant à refuser l'accès, car l'autorité d'exploitation de l'utilisateur actuel est trop faible.
Comment utiliser le mode administrateur pour ouvrir?
Prenez win10 comme exemple, entrez cmd dans la barre de recherche, cliquez avec le bouton droit de la souris sur "Invite de commandes" et choisissez de l'exécuter en tant qu'administrateur.
2. Ouvrez la deuxième fenêtre DOS
Exécutez les commandes suivantes dans l'ordre
cd D:\Program Files\mysql-8.0.16-winx64\bin
mysql -u root -p
//不输入密码直接回车
use mysql
update user set authentication_string='' where user='root';
quit
La signification générale des commandes ci-dessus est: connectez-vous à mysql, passez à la base de données mysql, modifiez la table des utilisateurs et définissez la chaîne d'authentification d'enregistrement de l'utilisateur root sur vide.
Effet d'exécution:
3. Ouvrez la troisième fenêtre DOS
Exécutez les commandes suivantes dans l'ordre
net start Mysql8
cd D:\Program Files\mysql-8.0.16-winx64\bin
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
La signification générale des commandes ci-dessus est: redémarrez le service mysql, connectez-vous à mysql et changez le mot de passe de l'utilisateur root en: 123456.
Remarque:
1. Il est également nécessaire d'ouvrir la fenêtre DOS en mode administrateur.
2. Dans la version inférieure de mysql, vous pouvez utiliser la commande pour changer le mot de passe: set password for root @ localhost = password ('123456');
Mais pour la version mysql 8.0, vous ne pouvez utiliser que la commande: alter user ' root '@' localhost 'identifié par' 123456 ';
3. Si vous exécutez la commande "net start Mysql8" pour démarrer le service mysql sans succès
- Veuillez vérifier si le nom du sous-répertoire de données sous le répertoire d'installation mysql est correct, le bon devrait être comme suit
- Si le nom des données est correct, supprimez le dossier de données dans le répertoire d'installation, ouvrez la fenêtre DOS et exécutez la commande suivante:
cd D:\Program Files\mysql-8.0.16-winx64\bin
mysqld --initialize
Vous constaterez que le dossier de données précédemment supprimé est régénéré. Relancez "net start mysql" pour démarrer le service avec succès.
Effet d'exécution: Jusqu'à
présent, le mot de passe local de mysql 8 a été modifié avec succès!