SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
-
13-12-2019 - |
Question
I´m working with symfony 2.1.2, FOSuserBundle, SonataAdminBundle, SonataUserBundle and SonataMediaBundle. The problem is that I cannot access to my database and get this error.
This is my parameters.yml
parameters:
database_driver: pdo_mysql
database_host: localhost
database_port: null
database_name: superlinea
database_user: root
database_password: !Admin1234
mailer_transport: smtp
mailer_host: localhost
mailer_user: null
mailer_password: null
locale: en
secret: f4c89326a7c2d2fb848e84dc8b39ea92
database_path: null
and this is my config.yml [ doctrine section: ]
doctrine:
dbal:
default_connection: default
connections:
default:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
orm:
auto_generate_proxy_classes: %kernel.debug%
# auto_mapping: true
# entity_managers:
# default:
# mappings:
# ApplicationSonataMediaBundle: ~
entity_managers:
default:
mappings:
ApplicationSonataMediaBundle: ~
ApplicationSonataUserBundle: ~
SonataUserBundle: ~
FOSUserBundle: ~
dbal:
types:
json: Sonata\Doctrine\Types\JsonType
I checked to connect to mysql from my terminal using the credentials on parameters.yml and it connects correctly. I purged the cache and still it isn´t taken the specified password.
Any help?
Solution
the problem is within your config.yml, the
dbal:
types:
json: Sonata\Doctrine\Types\JsonType
should go inside doctrine dbal. Like this:
doctrine:
dbal:
default_connection: default
connections:
default:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: %database_user%
password: %database_password%
charset: UTF8
types:
json: Sonata\Doctrine\Types\JsonType
Hope it helps
OTHER TIPS
In your 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
database_password should be inside double quoted (") or single quoted (').
I have seen most of users happen this because they are using password with leading zero or numeric (in my situation its like that)
And also I have tried with localhost and double quoted passwords, its not working.
So in that case use
database_host: 127.0.0.1
instead of
database_host: localhost
For all who have this problem, just try to clear the cache:
php bin/console cache:clear