Symfony 拒绝用户“root”@“localhost”的SQLSTATE[28000][1045]访问(使用密码:否)
我正在使用symfony 2.1.2、FOSuserBundle、SonataAdminBundle、SonataUserBundle和SonataMediaBundle。问题是我无法访问我的数据库并获得此错误 这是我的参数Symfony 拒绝用户“root”@“localhost”的SQLSTATE[28000][1045]访问(使用密码:否),symfony,symfony-2.1,Symfony,Symfony 2.1,我正在使用symfony 2.1.2、FOSuserBundle、SonataAdminBundle、SonataUserBundle和SonataMediaBundle。问题是我无法访问我的数据库并获得此错误 这是我的参数 parameters: database_driver: pdo_mysql database_host: localhost database_port: null database_name: superlinea databas
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
这是我的config.yml[条令部分:]
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
我检查了使用parameters.yml上的凭据从我的终端连接到mysql,它连接正确。
我清除了缓存,但仍然没有使用指定的密码
有什么帮助吗?问题出在config.yml中
dbal:
types:
json: Sonata\Doctrine\Types\JsonType
应该进入dbal内部。像这样:
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
希望对您有所帮助问题出在您的config.yml中
dbal:
types:
json: Sonata\Doctrine\Types\JsonType
应该进入dbal内部。像这样:
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
希望它对你的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
数据库密码应在双引号或单引号内
我见过大多数用户出现这种情况,因为在我的情况下,他们使用带前导零或数字的密码
我也试过使用localhost和双引号密码,但它不起作用
所以在这种情况下,使用
database_host: 127.0.0.1
而不是
database_host: localhost
在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
数据库密码应在双引号或单引号内
我见过大多数用户出现这种情况,因为在我的情况下,他们使用带前导零或数字的密码
我也试过使用localhost和双引号密码,但它不起作用
所以在这种情况下,使用
database_host: 127.0.0.1
而不是
database_host: localhost
对于所有遇到此问题的用户,请尝试清除缓存:
php bin/console cache:clear
对于所有遇到此问题的用户,请尝试清除缓存:
php bin/console cache:clear
请尝试在参数中引用您的密码。yml:database_password:!Admin1234Thx,我尝试了,但仍然是相同的错误。它似乎没有读取config.yml或其他东西,它似乎识别出您的数据库用户根,因此我猜它读取配置,只是误解了其中一个值。您是否尝试过通过DI容器获取doctor.dbal,然后读取配置并查看它是否与parameters.yml中的设置匹配?错误消息表明缺少密码,但可能是其他原因?我将结帐到另一个分支机构,在那里它可以工作。当我更改config.yml并添加默认连接:默认和默认设置时,问题就开始了,正如您在parameters.ymlTry中看到的那样,在parameters.yml:database_password:中引用您的密码!Admin1234Thx,我尝试了,但仍然是相同的错误。它似乎没有读取config.yml或其他东西,它似乎识别出您的数据库用户根,因此我猜它读取配置,只是误解了其中一个值。您是否尝试过通过DI容器获取doctor.dbal,然后读取配置并查看它是否与parameters.yml中的设置匹配?错误消息表明缺少密码,但可能是其他原因?我将结帐到另一个分支机构,在那里它可以工作。当我更改config.yml并添加default_connection:default和default设置时,问题就开始了,您可以在parameters.yml中看到,对于任何有问题的人:使用symfony2.8.9,我都会得到相同的错误页面。出于某种原因,在config.yml文件中,组件原则>dbal>连接>默认>驱动程序被设置为pdo_mysql作为默认值。将其切换回%database\u driver%解决了此问题。对于任何有问题的人:使用symfony2.8.9时,我都会得到相同的错误页面。出于某种原因,在config.yml文件中,组件原则>dbal>连接>默认>驱动程序被设置为pdo_mysql作为默认值。将其切换回%database\u driver%解决了此问题。