Je viens d'installer MySQL sur Ubuntu et l'utilisateur root ne peut pas se connecter :)
Comment puis-je récupérer ou retrouver mon mot de passe? L'utilisation d'un mot de passe vierge ne fonctionne pas.
Vous pouvez réinitialiser le mot de passe root en exécutant le serveur avec --skip-grant-tables
et en vous connectant sans mot de passe en exécutant ce qui suit en tant que root (ou avec Sudo):
# service mysql stop
# mysqld_safe --skip-grant-tables &
$ mysql -u root
mysql> use mysql;
mysql> update user set authentication_string=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
# service mysql stop
# service mysql start
$ mysql -u root -p
Vous devriez maintenant pouvoir vous connecter en tant que root avec votre nouveau mot de passe.
Il est également possible de trouver la requête qui réinitialise le mot de passe dans /home/$USER/.mysql_history
ou /root/.mysql_history
de l'utilisateur qui a réinitialisé le mot de passe, mais la procédure ci-dessus fonctionnera toujours.
Remarque: avant MySQL 5.7, la colonne s'appelait password
au lieu de authentication_string
. Remplacez la ligne ci-dessus par
mysql> update user set password=PASSWORD("YOUR-NEW-ROOT-PASSWORD") where User='root';
Je me rends compte que c'est un vieux fil, mais je pensais le mettre à jour avec mes résultats.
Alex, on dirait que vous avez installé le serveur MySQL via le méta-paquet "mysql-server". Cela installe le dernier paquet par référence (dans mon cas, mysql-server-5.5). Comme vous, je n’ai pas été invité à entrer un mot de passe MySQL lors de l’installation, contrairement à ce que j’avais prévu. Je suppose qu'il y a deux réponses:
Solution n ° 1: installez MySQL par son nom complet:
$ Sudo apt-get install mysql-server-5.5
Ou
Solution n ° 2: reconfigurez le package ...
$ Sudo dpkg-reconfigure mysql-server-5.5
Vous devez spécifier le nom complet du package. Utiliser le méta-paquet 'mysql-server' n'a pas eu le résultat escompté. J'espère que ça aidera quelqu'un :)
Référence: https://help.ubuntu.com/12.04/serverguide/mysql.html
Sudo mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YOUR_PASSWORD_HERE';
FLUSH PRIVILEGES;
mysql -u root -p # and it works
MySQL 5.5 sur Ubuntu 14.04 nécessitait des commandes légèrement différentes, comme recommandé ici . En un mot:
Sudo /etc/init.d/mysql stop
Sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
mysql -u root
Et puis à partir de l'invite MySQL
FLUSH PRIVILEGES;
SET PASSWORD FOR root@'localhost' = PASSWORD('password');
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
FLUSH PRIVILEGES;
Et la source citée propose également une autre méthode.
Pour RHEL-mysql 5.5:
/etc/init.d/mysql stop
/etc/init.d/mysql start --skip-grant-tables
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
mysql -uroot -pnewpwd
mysql>
Il y a une solution simple.
MySql 5.7 est fourni avec un utilisateur anonyme. Vous devez donc reconfigurer le serveur MySQL.
Vous pouvez le faire avec cette commande
essayez de trouver une passe temporaire:
grep 'temporary password' /var/log/mysqld.log
puis:
Sudo mysql_secure_installation
Sur ce lien est plus d'infos sur mysql 5.7
https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
C'est en fait très simple. Vous n'avez pas à passer par beaucoup de choses. Il suffit d’exécuter la commande suivante dans le terminal et de suivre les instructions à l’écran.
Sudo mysql_secure_installation
Sous MYSQL 5.7, si vous utilisez mysql à des fins de développement, il suffit de:
1.kill mysql:
$ Sudo service mysql stop
2.démarrez mysql en mode --skip-grant-tables:
$ Sudo mysqld_safe --skip-grant-tables
et, en outre, vous pouvez essayer de changer la table utilisateur sous le mode "sauter-accorder-table", mais j'ai échoué.
alors, ceci est juste une solution de contournement.