it-swarm.com.de

SQLSTATE [28000] [1045] Zugriff verweigert für Benutzer 'root' @ 'localhost' (mit Kennwort: YES) Symfony2

Ich habe versucht, meine Datenbank mit Symfony2 zu erstellen, indem ich den folgenden Befehl eingab:

php app/console doctrine:create:database

Das Ergebnis ist:

Datenbank für Verbindung mit dem Namen jobeet SQLSTATE [28000] [1045] konnte nicht erstellt werden. Zugriff für Benutzer 'root' @ 'localhost' verweigert (mit Kennwort: YES)

Der Inhalt meines app/config/parameters.yml Datei ist:

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

Mein Betriebssystem ist Ubuntu.

Ich weiß nicht, was ich tun soll, um dieses Problem zu beheben.

12
mentaga

Versuchen Sie, sich mit dem folgenden Befehl über das Terminal anzumelden:

mysql -u root -p

Sie werden dann zur Eingabe Ihres Passworts aufgefordert. Wenn dies fehlschlägt, ist der Benutzername oder das Passwort definitiv falsch. Wenn dies funktioniert, muss das Kennwort Ihrer Datenbank in Anführungszeichen gesetzt werden:

database_password: "0000"
11

Ich weiß nicht, was der genaue Grund ist, aber ich habe das laufende Problem gelöst:

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

In deiner 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

Der Wert von database_password sollte in doppelten oder einfachen Anführungszeichen stehen wie in: "your_password" oder 'your_password'.

Ich habe die meisten Benutzer gesehen, bei denen dieser Fehler aufgetreten ist, weil sie ein Kennwort mit führenden Nullen oder numerischen Werten verwenden.

4
Nadun Liyanage

Ok, das könnte Ihr Problem nicht beheben, aber es hat definitiv für mich funktioniert.

Also hast du deinen MySQL-Benutzer erstellt, ich nehme es an? Gehen Sie zu "Benutzerrechte" in PhpMyAdmin und klicken Sie neben dem Benutzer, den Sie für Symfony verwenden, auf "Bearbeiten". Scrollen Sie nach unten und stellen Sie sicher, dass Sie LocalHost und nicht% Any ausgewählt haben.

Tauschen Sie dann in Ihrer Konfigurationsdatei 127.0.0.1 gegen localhost aus. Hoffentlich klappt das für dich. Ich habe nur für mich gearbeitet, weil ich das gleiche Problem hatte.

2
Doug

Sie müssen das Passwort für [email protected] leer sein. Es gibt zwei Möglichkeiten:

  • Das MySQL SET PASSWORD Befehl:

    SET PASSWORD FOR [email protected]=PASSWORD('');
    
  • Verwenden des Befehlszeilentools mysqladmin:

    mysqladmin -u root -pCURRENTPASSWORD password ''
    
2
sofiane

Ich hatte ähnliche Probleme beim Herstellen einer Verbindung zur OpenSUSE 13.1 MySQL-Datenbank mit LibreOffice. Aktualisieren Sie LibreOffice auf das neueste stabile "Still" -Paket und stellen Sie dann sicher, dass die Datenbank mit einem Tool wie phpMyAdmin zugänglich ist. Stellen Sie sicher, dass Ihr Benutzer mit localhost und nicht mit "%" (any) verknüpft ist. Das hat bei mir funktioniert, ich kann Daten über LibreOffice hinzufügen.

Randnotiz - LibreOffice Base stellt beim ersten Versuch keine "native Verbindung" über MySQL bereit. Sie müssen die Schaltfläche "Zurück" verwenden und dann erneut versuchen, die Optionen anzuzeigen.

Hoffe das hilft.

0
user4164558