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.
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"
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
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.
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.
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 ''
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.