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?
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.