web-dev-qa-db-fra.com

Le serveur MySql ne reconnaît pas le mot de passe correct

J'ai installé le serveur MySQL sur Ubuntu 14.04 LTS. J'ai aussi une expérience antérieure.

Mais chaque fois que je me connecte, en utilisant mysql -u root -p et après avoir entré le mot de passe, il dit:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

J'ai entré le bon mot de passe. La même chose s’est produite il ya quelques jours, mais j’ai ensuite complètement supprimé mysql et l’ai réinstallé.

Aussi, j'ai essayé de redémarrer le serveur mysql mais aucune aide!

Quelqu'un peut-il aider s'il vous plait?

3
Sam

Lisez toujours le contenu de /usr/share/doc/ nom-package / pour les packages que vous avez installés. Ils contiennent des informations importantes pour l’utilisation et l’administration de packages.

Donc, pour mysql-server-5.5, il y a des informations importantes dans /usr/share/doc/mysql-server-5.5/README.Debian.gz. Comme il est gzipped, il est pratique d’utiliser zmore pour le lire.

Vous pouvez y voir que vous pouvez utiliser l'utilisateur debian-sys-maint pour accéder à la base de données à des fins d'administration. Tout comme root utilisez le fichier de configuration /etc/mysql/debian.cnf pour vous connecter en tant qu'utilisateur. Notez que vous JAMAIS devez changer le mot de passe de l'utilisateur, à moins que vous ne le changiez également dans le fichier debian.cnf. Sinon, mysql cessera de fonctionner.

Donc, pour changer le mot de passe de l'utilisateur root, essayez ceci.

$ Sudo mysql --defaults-file=/etc/mysql/debian.cnf
mysql> UPDATE mysql.user SET Password=PASSWORD('*secret*') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ mysql -u root -p

Si vous pouvez utiliser le mot de passe *secret* pour vous connecter en tant qu'utilisateur root, vous avez réussi à modifier le mot de passe pour root.

Notez que l'utilisation de l'utilisateur debian-sys-maint ne fonctionne que pour les distributions basées sur Debian.

Notez également que si le paquet dbconfig-common est également installé et configuré pour stocker le mot de passe root (voir /etc/dbconfig/config), vous devez reconfigurer ce paquet afin qu'il connaisse le mot de passe pour administrer vos bases de données. pour d'autres forfaits.

Enfin, une bonne information peut également être lue dans Wiki Debians et dans le gratuit Le livre de l'administrateur système

3
Anders

D'abord arrêter le serveur mysql

 Sudo service mysql stop

Exécutez la commande suivante qui redémarre le serveur et ignore les tables de droits qui stockent les mots de passe.

 mysqld_safe --skip-grant-tables

Le serveur Mysql devrait maintenant commencer. Ensuite, nous nous connectons à root sans mot de passe.

 mysql -u root 

Et puis appuyez sur Entrée

Maintenant, nous lançons les commandes suivantes dans mysql pour réinitialiser le mot de passe

 update user set 
 Password=PASSWORD('new-password')
 where user='root';
 flush privileges;
 exit;

Maintenant, redémarrez le serveur mysql

 Sudo service mysql restart 

Vous devriez maintenant pouvoir vous connecter avec le mot de passe que vous venez de définir

 mysql -u root -p

Appuyez sur Entrée et vous devriez obtenir une invite pour le mot de passe root qui sera accepté.

3
geoffmcc