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?
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 gzip
ped, 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 passeroot
(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
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é.