ERREUR 1045 (28000): Accès refusé pour l'utilisateur 'root @ localhost' (avec mot de passe: no)

47

J'essaie d'installer l'application queXS cati sur mon ordinateur de bureau Ubuntu. J'ai installé le serveur MySQL et PHP 5. Je ne peux pas me connecter au serveur MySQL en tant qu'utilisateur root sans mot de passe:

mysql -u root 

ça dit

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

Mais ça va quand j'entre mysql -u root -p

Je ne peux pas comprendre quel est le problème.

utilisateur232705
la source
7
Essayez ceci: mysql -u root -p mysql Entrez le mot de passe: et vous obtiendrez: mysql>

Réponses:

49

Ajouter un commutateur -ppour une connexion basée sur un mot de passe:

mysql -u root -p

C'est le comportement normal. Vous définissez un mot de passe root pour votre base de données afin que vous ne puissiez plus y accéder sans mot de passe. C'est pourquoi il rapporte:

Accès refusé pour l'utilisateur 'root @ localhost' ( avec mot de passe: no )

Évidemment, lorsque vous donnez le mot de passe avec le -pcommutateur, vous réussissez.

fauconnier
la source
4

En termes simples, votre session "root" ne connaît pas le mot de passe de l'utilisateur root mysql.

Si vous voulez faciliter l'accès à votre mysql

créer un fichier .my.cnf dans / root /

et mettre dedans

[mysqladmin]
 user = root
 password = mysqlrootpassword
[mysql]
 user = root
 password = mysqlrootpassword
[mysqldump]
 user = root
 password = mysqlrootpassword

où offcourse mysqlrootpassword est votre mot de passe pour le mot de passe root de mysql. Ainsi, lorsque vous exécutez mysql, il utilise ce mot de passe.

Rappelez-vous de la sécurité de ce fichier - mettez des droits sécurisés pour que personne sur votre serveur ne puisse le lire!

PL_
la source
1
C'est mal d'encourager les autres à mettre les mots de passe root en clair sur le disque. Par déduction, cette propriété de méchanceté se propage à la personne qui la fait.
Eric Leschinski
Au cours de l'installation, le mot de passe temporaire de l'utilisateur mysql root est défini. sudo grep 'mot de passe temporaire' /var/log/mysqld.log
suyash
-1

Connectez-vous à Webmin et aux sous-serveurs, accédez au serveur mySQLdatabase. Vous pourrez alors définir le mot de passe (utilisateur) à condition que vous ayez:

mysql -u (**user**) -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql.

L’interface Web est simple, mais pour être sûr, utilisez le terminal.

à votre santé.

SLAYER_FIFA15
la source
n'existe pas /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql.
Vitor Mazuco