Je crois qu'il doit y avoir beaucoup d'amis comme moi qui ont du mal à changer le mot de passe de MySQL et à se connecter avec succès si le mot de passe est oublié.Permettez-moi de vous présenter le problème : le mot de passe pour se connecter à mysql est oublié, et le MySQL que j'ai installé n'a pas ce qui se dit sur Internet.fichier my.ini si vous avez le même problème que moi. Voyons donc comment le résoudre.
C'est très ennuyeux d'oublier le mot de passe, et je ne peux pas me connecter (et j'avais à l'origine le dossier du package compressé MySQL, et j'ai téléchargé un autre dossier sur Internet) (C'est scandaleux, j'ai seulement découvert que j'avais téléchargé mysql dans le recherche globale .)
Après le téléchargement depuis la page Web, il n'y a pas de fichier my.ini dans mon package compressé , que dois-je faire ? Que puis-je faire d'autre pour le configurer moi-même Après avoir lu de nombreux articles sur Internet, je sens que je peux le refaire, alors j'ai commencé à le configurer. Au final ça n'a toujours pas marché. (L'ingénierie par essais et erreurs est toujours gênante)
Pas grand chose à dire, il suffit de créer un texte my.ini dans le répertoire au même niveau que bin, et de créer un dossier de données (utilisé pour mettre des données)
Le contenu à l'intérieur est le suivant (n'oubliez pas de remplacer l'adresse ci-dessous par l'adresse mysql que vous avez indiquée, ne copiez pas et ne collez pas directement)
[mysqld]
# Définir le port 3306
port=3306
# Définir le répertoire d'installation de mysql ---------- est votre chemin de fichier -------------
basedir=D:\123 \mysql-8.0.29-winx64
# Définir le répertoire de stockage des données de la base de données mysql --------- est votre dossier de données de chemin de fichier à créer par lui-même
#datadir=D:\123\mysql-8.0.29 - winx64\data
# Autoriser le nombre maximum de connexions
max_connections=200
# Autoriser le nombre d'échecs de connexion.
max_connect_errors=10
#Le jeu de caractères utilisé par le serveur est utf8mb4 par défaut
character-set-server=utf8mb4
#Le moteur de stockage par défaut qui sera utilisé lors de la création d'une nouvelle table
default-storage-engine=INNODB
#L'authentification du plugin "mysql_native_password" est utilisé par défaut
#mysql_native_password
default_authentication_plugin= mysql_native_password
[mysql]
# Définit le jeu de caractères par défaut du client mysql
default-character-set=utf8mb4
[client]
# Définir le port par défaut utilisé par le client mysql pour se connecter au serveur port
=3306
default-character-set=utf8mb4
Après la configuration, vérifions si la variable d'environnement est configurée correctement.Mon chemin ici est D:\123\mysql-8.0.29-winx64\bin, donc je dois mettre ce chemin dans la variable d'environnement, (c'est très simple pour moi je ne dirai pas grand chose ici, cela devrait être courant) (Après tout, de nombreuses variables d'environnement sont nécessaires)
OK, passons aux choses sérieuses
D'abord, nous ouvrons cmd en tant qu'administrateur
Après l'ouverture, entrez d'abord le code suivant (si vous avez déjà ouvert ce service) fermez d'abord le service
net stop mysql
Entrez ensuite le code suivant (cette étape consiste à ignorer la vérification et à vous connecter directement à mysql sans mot de passe)
mysqld --console --skip-grant-tables --shared-memory
Ensuite, ne fermez pas cette cmd, puis rouvrez une cmd en tant qu'administrateur, et entrez mysql directement pour entrer
Entrez ensuite la commande use mysql suivante,
use mysql
Utilisez le code suivant pour actualiser les autorisations, puis entrez la commande pour modifier le mot de passe
flush privileges;
Dans le code, "123456" est le mot de passe que j'ai défini, vous pouvez également le changer en un autre
alter user root@localhost identified by '123456';
Une fois terminé, fermez le cmd ouvert pour la première fois, puis entrez quit pour quitter, puis ouvrez le service mysql, puis connectez-vous
quit
net start mysql
mysql -u root -p
Le problème est résolu ici.