web-dev-qa-db-fra.com

SQLSTATE [28000] [1045] Accès refusé à l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: OUI) Symfony2

J'ai essayé de créer ma base de données avec Symfony2 en tapant la commande ci-dessous:

php app/console doctrine:create:database

Le résultat est:

Impossible de créer la base de données pour la connexion nommée jobeet SQLSTATE [28000] [1045] Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: OUI)

Le contenu de mon app/config/parameters.yml le fichier est:

parameters:
   database_driver:   pdo_mysql
   database_Host:     127.0.0.1
   database_port:     ~
   database_name:     jobeet
   database_user:     root
   database_password: 0000

   mailer_transport:  smtp
   mailer_Host:       127.0.0.1
   mailer_user:       ~
   mailer_password:   ~

   locale:            fr
   secret:            ThisTokenIsNotSoSecretChangeIt

Mon système d'exploitation est Ubuntu.

Je ne sais pas quoi faire pour corriger ce problème.

12
mentaga

Essayez de vous connecter via le terminal à l'aide de la commande suivante:

mysql -u root -p

Il vous demandera alors votre mot de passe. Si cela échoue, le nom d'utilisateur ou le mot de passe est définitivement incorrect. Si cela fonctionne, le mot de passe de votre base de données doit être mis entre guillemets:

database_password: "0000"
11

Je ne sais pas quelle est la raison exacte mais j'ai résolu le problème en cours d'exécution:

   app/console cache:clear --env=prod
6
iarroyo

Dans votre app/config/parameters.yml

# This file is auto-generated during the composer install
parameters:
    database_driver: pdo_mysql
    database_Host: 127.0.0.1
    database_port: 3306
    database_name: symfony
    database_user: root
    database_password: "your_password"
    mailer_transport: smtp
    mailer_Host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    locale: en
    secret: ThisTokenIsNotSoSecretChangeIt

La valeur de database_password doit être entre guillemets simples ou doubles comme dans: "your_password" ou 'your_password'.

J'ai vu la plupart des utilisateurs rencontrer cette erreur car ils utilisent un mot de passe avec des valeurs zéro ou numériques en tête.

4
Nadun Liyanage

D'accord, cela ne résoudra peut-être pas votre problème, mais cela a vraiment fonctionné pour moi.

Vous avez donc créé votre utilisateur Mysql je le prends? Accédez aux privilèges utilisateur sur PhpMyAdmin et cliquez sur modifier à côté de l'utilisateur que vous utilisez pour Symfony. Faites défiler vers le bas et jusqu'à l'endroit où il est indiqué l'hôte que vous souhaitez utiliser, assurez-vous d'avoir sélectionné LocalHost et non% Any.

Ensuite, dans votre fichier de configuration, remplacez 127.0.0.1 par localhost. J'espère que cela fonctionnera pour vous. Je viens de travailler pour moi car j'avais le même problème.

2
Doug

Vous devez définir le mot de passe pour root@localhost pour être vide. Il y a deux façons:

  • Le MySQL SET PASSWORD commande:

    SET PASSWORD FOR root@localhost=PASSWORD('');
    
  • Utilisation de l'outil de ligne de commande mysqladmin:

    mysqladmin -u root -pCURRENTPASSWORD password ''
    
2
sofiane

J'avais des problèmes similaires de connexion à la base de données MySQL OpenSUSE 13.1 avec LibreOffice. Mettez à jour LibreOffice vers le dernier package stable "Still", puis assurez-vous que la base de données est accessible à l'aide d'un outil tel que phpMyAdmin. Assurez-vous que votre utilisateur est lié à localhost et non à "%" (n'importe lequel). Cela a fonctionné pour moi, je suis capable d'ajouter des données via LibreOffice.

Remarque - LibreOffice Base ne fournira pas de "connexion native" via MySQL à la première tentative, vous devrez utiliser le bouton de retour, puis réessayer pour voir les options.

J'espère que cela t'aides.

0
user4164558