web-dev-qa-db-fra.com

mysqladmin: échec de la connexion au serveur sur 'localhost'

Aujourd'hui (02/05/2015), j'ai mis à jour mon système Linux via la mise à jour apt-get et
apt-get upgrade alors que mysql, mysqladmin et beaucoup plus de packages
ont été mis à jour. Le mysql-server-5.5 fonctionne et je peux me connecter et faire tout
les opérations de base de données typiques mais quand je tape:

user@ubuntu:~# mysqladmin proc

J'obtiens l'erreur suivante:

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

Auparavant, je pouvais résoudre ce problème en définissant simplement le nouveau mot de passe root mysql.
Cela ne résout plus le problème:

user@ubuntu:~# Sudo dpkg-reconfigure mysql-server-5.5

Comment puis-je réactiver mysqladmin sans réinstaller mysql?

10
udgru

Version courte: Si votre utilisateur MySQL root a besoin d'un mot de passe pour se connecter, ce pourrait être une bonne idée que mysqladmin fournisse ce mot de passe;)

Version plus longue: Votre utilisateur MySQL root semble avoir besoin d'un mot de passe pour se connecter

définition du nouveau mot de passe root mysql

Mais mysqladmin essaie de se connecter sans un mot de passe

'Accès refusé pour l'utilisateur' root '@' localhost '(en utilisant le mot de passe: NO)'

Et mysqladmin fait cela parce que vous ne le dites pas autrement;)

mysqladmin, comme d'autres outils de ligne de commande liés à MySQL (mysql, mysqldump, mysqlshow etc.), offre des options pour fournir ces données d'accès.

  • h: À quel hôte se connecter. Si non fourni, localhost est supposé
  • u: sous quel utilisateur se connecter. Si non fourni, root est supposé
  • p: quel mot de passe utiliser. S'il n'est pas fourni, aucun mot de passe n'est utilisé

Vous devriez pouvoir utiliser quelque chose comme

mysqladmin -uroot -pmysupersecretpassword proc

(sachez qu'il n'y a pas d'espace entre les options et leurs valeurs). Vous pouvez également demander à MySQL de vous demander le mot de passe comme

mysqladmin -uroot -p proc

Avec cela, MySQL devrait vous donner une invite où vous pouvez entrer votre mot de passe.

20