J'ai perdu mon nom d'utilisateur et mon mot de passe MySQL. Comment le récupérer?
158
Arrêtez le processus MySQL.
Démarrez le processus MySQL avec l'option --skip-grant-tables.
Démarrez le client de la console MySQL avec l'option -u root.
Listez tous les utilisateurs;
SELECT * FROM mysql.user;
Réinitialiser le mot de passe;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Mais N'OUBLIEZ PAS de
Arrêtez le processus MySQL
Démarrez le processus MySQL normalement (c'est-à-dire sans l'option --skip-grant-tables)
lorsque vous avez terminé. Sinon, la sécurité de votre base de données pourrait être compromise.
dpkg-reconfigure mysql-server-5.5
commande pour réinitialiser le mot de passe root MySQL?-u
sert à rien de le faire car il est ignoré lorsque le serveur est démarré avec--skip-grant-tables
.mysql.user
appeléepassword
, utilisez à laauthentication_string
place.Malheureusement, votre mot de passe utilisateur est irrécupérable. Il a été haché avec un hachage à sens unique qui, si vous ne le savez pas, est irréversible. Je recommande d'aller avec Xenph Yan ci-dessus et d'en créer un nouveau.
Vous pouvez également utiliser la procédure suivante du manuel pour réinitialiser le mot de passe de tout compte racine MySQL sous Windows:
Recherchez ensuite le service MySQL dans la liste et arrêtez-le. Si votre serveur ne fonctionne pas en tant que service, vous devrez peut-être utiliser le Gestionnaire des tâches pour le forcer à s'arrêter.
Créez un fichier texte et placez-y les instructions suivantes. Remplacez le mot de passe par le mot de passe que vous souhaitez utiliser.
Les instructions UPDATE et FLUSH doivent chacune être écrites sur une seule ligne. L' instruction UPDATE réinitialise le mot de passe de tous les comptes racine existants et l' instruction FLUSH indique au serveur de recharger les tables d'octroi en mémoire.
Ouvrez une fenêtre de console pour accéder à l'invite de commande:
Démarrez le serveur MySQL avec l' option spéciale --init-file :
Si vous avez installé MySQL à un emplacement autre que C: \ mysql , ajustez la commande en conséquence.
Le serveur exécute le contenu du fichier nommé par l' option --init-file au démarrage, en modifiant le mot de passe de chaque compte root .
Vous pouvez également ajouter l' option --console à la commande si vous souhaitez que la sortie du serveur apparaisse dans la fenêtre de la console plutôt que dans un fichier journal.
Si vous avez installé MySQL à l'aide de l'assistant d'installation MySQL, vous devrez peut-être spécifier une option --defaults-file :
Le paramètre --defaults-file approprié peut être trouvé à l'aide du Gestionnaire de services:
Recherchez le service MySQL dans la liste, cliquez dessus avec le bouton droit de la souris et choisissez l'option Propriétés. Le champ Chemin d'accès à l'exécutable contient le paramètre --defaults-file .
Vous devriez maintenant pouvoir vous connecter à MySQL en tant que root en utilisant le nouveau mot de passe.
la source
mysqld-nt
au lieu demysqld
?--init-file
? (Quelque chose de similaire à la--execute
commande de mysql.exe .)Une amélioration de la réponse la plus utile ici:
Il n'est pas nécessaire de redémarrer le serveur MySQL.
utiliser
FLUSH PRIVILEGES;
après l'instruction de mise à jour mysql.user pour le changement de mot de passe.Le
--skip-grant-options
permet à quiconque de se connecter sans mot de passe et avec tous les privilèges. Parce que ce n'est pas sûr, vous voudrez peut-êtrefrom: reference: resetting-permissions-generic
la source
mysql.user
? Cependant, ce n'est souvent pas le cas.Bien que vous ne puissiez pas récupérer directement un mot de passe MySQL sans brutforcing, il pourrait y avoir un autre moyen - si vous avez utilisé MySQL Workbench pour vous connecter à la base de données et que vous avez enregistré les informations d'identification dans le «coffre-fort», vous êtes en or.
Sous Windows, les informations d'identification sont stockées dans % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - cryptées avec CryptProtectData (sans aucune entropie supplémentaire). Le décryptage est un jeu d'enfant:
Ou vous pouvez consulter ce fil DonationCoder pour la source + l'exécutable d'une implémentation rapide et sale.
la source
Faites-le sans temps d'arrêt
Exécutez la commande suivante dans le terminal pour vous connecter au SGBD (vous avez besoin d'un accès root):
exécuter le mot de passe de mise à jour de l'utilisateur cible (pour mon exemple, le nom d'utilisateur est
mousavi
et son mot de passe doit être123456
):à ce stade, vous devez effectuer un vidage pour appliquer les modifications:
Terminé! Vous l'avez fait sans aucun arrêt ou redémarrage du service mysql.
la source
Si vous avez un accès root au serveur sur lequel mysql est en cours d'exécution, vous devez arrêter le serveur mysql en utilisant cette commande
Maintenant, lancez mysql en utilisant cette commande
Vous pouvez maintenant vous connecter à mysql en utilisant
Des instructions complètes peuvent être trouvées ici http://www.techmatterz.com/recover-mysql-root-password/
la source
Connectez-vous à MySql à partir de Windows cmd en utilisant l'utilisateur existant:
Exécutez ensuite la commande suivante:
Après cette copie du mot de passe md5 crypté pour l'utilisateur correspondant et il existe plusieurs applications décryptées par mot de passe en ligne disponibles sur le Web. Utilisez ce mot de passe de déchiffrement et utilisez-le pour vous connecter la prochaine fois. ou mettez à jour le mot de passe de l'utilisateur à l'aide de la commande fluide:
Puis connectez-vous en utilisant le nouveau mot de passe et l'utilisateur.
la source
SI vous avez configuré ODBC, vous pouvez obtenir le mot de passe à partir du fichier de configuration ODBC. C'est dans /etc/odbc.ini pour Linux et dans le dossier Software / ODBC dans le registre de Windows (il y en a plusieurs - cela peut prendre un peu de chasse)
la source
Enregistrez le fichier. Pour cet exemple, le fichier sera nommé C: \ mysql-init.txt. il demande des autorisations administratives pour enregistrer le fichier
la source
Bien qu'une interprétation stricte, logique et informatique de la question de l'OP consisterait à exiger à la fois "Comment récupérer mon nom d'utilisateur MySQL" et "mot de passe" - j'ai pensé qu'il pourrait être utile à quelqu'un d'aborder l' interprétation OR . En d'autres termes ...
1) Comment récupérer mon nom d'utilisateur MySQL?
OU
2) mot de passe
Cette dernière condition semble avoir déjà été amplement traitée, donc je ne m'en soucierai pas. Ce qui suit est une solution pour le cas "Comment récupérer mon nom d'utilisateur MySQL" seul. HIH.
Pour trouver votre nom d'utilisateur mysql, exécutez les commandes suivantes à partir du shell mysql ...
SELECT User FROM mysql.user;
il imprimera un tableau de tous les utilisateurs de mysql.
la source