Comment puis-je trouver mon mot de passe root MySQL?
Je viens d'installer MySQL sur Ubuntu et l'utilisateur root ne peut pas se connecter 🙂
Comment puis-je récupérer ou trouver mon mot de passe? À l'aide de vide pour le mot de passe ne fonctionne pas.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez réinitialiser le mot de passe root en exécutant le serveur avec
--skip-grant-tables
et connexion sans mot de passe en exécutant la commande suivante en tant que root (ou sudo):Maintenant, vous devriez être en mesure de vous connecter en tant que root avec votre nouveau mot de passe.
Il est également possible de trouver de la requête de réinitialisation du mot de passe dans
/home/$USER/.mysql_history
ou/root/.mysql_history
de l'utilisateur de réinitialiser le mot de passe, mais la ci-dessus sera toujours.Remarque: avant MySQL 5.7 la colonne a été appelé
password
au lieu deauthentication_string
. Remplacez la ligne ci-dessus avecsudo service mysql start
etsudo service mysql stop
la place de l'ancienne/etc/init.d/mysqld [command]
de la syntaxe.update user set password=PASSWORD("password") where User='root';
ouupdate user set password=PASSWORD(password) where User='root';
? Vous devez avoir les guillemets autour du mot de passe ou ça va juste ressasser les vieuxpassword
colonne de la table.-p
à votre commande, ou le client MySQL suppose que vous ne voulez pas entrer un mot de passe. Commande complète:mysql -u root -p
dpkg
approche ci-dessous, et d'obtenir des super frustré de voir que rien n'a fonctionné (btw, je suis en utilisant 16.04 avecmysql-sever-5.7
), j'ai remarqué que mysql devra accepter mon nouveau les informations d'identification si j'ai utilisé sudo pour se connecter. c'est à diresudo mysql -u root -p
Sans sudo-je obtenirAccess denied for user 'root'@'localhost'
. Je n'ai jamais eu à utiliser sudo avant, et je ne le vois pas mentionné ici, mais après une frustrante heure, ce qui semble être la solution.sudo
avant lors de l'utilisation de mysql et maintenant, je dois? Je ne comprends pas pourquoi je dois être la racine de l'utilisateur de linux pour accéder au compte root de mysql. Ce genre de comportement me rappelle de postgresql un peu plus.update user set plugin="mysql_native_password" where User="root";
Je me rends compte que c'est un vieux thread, mais je pensais le mettre à jour avec mes résultats.
Alex, on dirait que vous avez installé MySQL server via le meta-paquet mysql-server". Ceci installe le dernier package par référence (dans mon cas, mysql-server-5.5). J'ai, comme vous, n'a pas été invité pour un mot de passe MySQL lors de l'installation comme je l'avais prévu. Je suppose qu'il y a deux réponses:
Solution n ° 1: installation de MySQL par son nom complet:
Ou
Solution #2: reconfigurer le paquet...
Vous devez spécifiques le nom complet du paquet. En utilisant le méta-paquet mysql-server " n'a pas eu le résultat souhaité pour moi. J'espère que cela aide quelqu'un 🙂
Référence: https://help.ubuntu.com/12.04/serverguide/mysql.html
sudo dpkg-reconfigure mysql-server
, mais cela ne fonctionne pas.sudo dpkg-reconfigure mysql-server-5.7
MySQL 5.5 sur Ubuntu 14.04 requis légèrement différentes commandes comme recommandé ici. En un mot:
Et puis, à partir de l'invite MySQL
Et la source citée offre une autre méthode.
--skip-grant-tables --skip-networking &
C'était vraiment utile pour moi de s'attaquer demande du client, mais j'aimerais apprendre à ce sujet afin que je puisse ânes risque. Merci!skip-grant-tables
certainement exige de la prudence car n'importe qui ayant accès au serveur peut accéder à l'ensemble des schémas de l'instance.skip-networking
c'est moins un problème je pense, mais vous devez évaluer vous-même. Si j'essaie de réinitialiser le mot de passe root sans le mot de passe root, je me sens en sécurité pickle déjà :). Vous ne savez pas si il est plus "sécuriser" approche.Pour RHEL-mysql 5.5:
Hmm Mysql 5.7.13 pour réinitialiser tous les je ne a été:
$ sudo service mysql stop
Pour arrêter mysql$ mysqld_safe --skip-grant-tables &
Démarrer mysql$ mysql -u root
Tout comme la bonne réponse. Alors je me suis contenté de faire ce que @eebbesen fait.
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('NEW-password-HERE');
Espère que cela aide quelqu'un là-bas 🙂
Il existe une solution simple.
MySql 5.7 vient avec l'anonymat de l'utilisateur de sorte que vous devez reconfigurer le serveur MySQL.
Vous pouvez le faire avec cette commande
essayez de trouver le temp passe:
alors:
Sur ce lien plus d'info à propos de mysql 5.7
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
Sous MYSQL 5.7, Si vous utilisez mysql pour des fins de développement, juste :
1.tuer mysql :
2.démarrer mysql sous --skip-grant-tables de mode:
et, en outre, vous pouvez essayer de modifier le tableau d'utilisateur sous "skip-grant-tables" mode, cependant je n'ai pas réussi.
donc, c'est juste une solution de contournement.