mysql SQLSTATE[28000][1045]拒绝访问用户‘根’@‘本地主机’(使用密码:是)symfony2

mdfafbf1  于 2022-12-10  发布在  Mysql
关注(0)|答案(8)|浏览(194)

我尝试使用Symfony2创建我的数据库,并键入以下命令:

php app/console doctrine:create:database

结果是:
无法为名为jobeet SQLSTATE[28000][1045]用户‘根’@‘本地主机’(使用密码:yes)访问被拒绝的连接创建数据库
我的app/config/parameters.yml文件的内容是:

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

我的操作系统是Ubuntu。
我不知道该怎么做才能纠正这个问题。

r6hnlfcb

r6hnlfcb1#

尝试使用以下命令通过终端登录:

mysql -u root -p

然后,它将提示您输入密码。如果此操作失败,则用户名或密码肯定不正确。如果这样做有效,那么您的数据库密码需要用引号引起来:

database_password: "0000"
nhaq1z21

nhaq1z212#

我不知道确切的原因是什么,但我跑着解决了这个问题:

app/console cache:clear --env=prod
wb1gzix0

wb1gzix03#

在您的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的值应该在双引号或单引号内,如:"your_password"'your_password'
我见过大多数用户遇到此错误,因为他们使用的密码包含前导零或数值。

oug3syen

oug3syen4#

好吧,这可能解决不了你的问题,但对我来说绝对管用。
那么你已经创建了你的MySQL用户了吧?转到PhpMyAdmin上的用户权限,然后单击您用于symfony的用户旁边的编辑。向下滚动到底部附近,并在其中说明您要使用哪个主机,确保您选择的是本地主机,而不是%any。
然后在您的配置文件中,将127.0.0.1替换为本地主机。希望这会对你起作用。对我很管用,因为我也有同样的问题。

qmelpv7a

qmelpv7a5#

您需要将root@localhost的密码设置为空。有两种方法:

  • MySQL SET PASSWORD命令:
SET PASSWORD FOR root@localhost=PASSWORD('');
  • 使用命令行mysqladmin工具:
mysqladmin -u root -pCURRENTPASSWORD password ''
vfhzx4xs

vfhzx4xs6#

我使用LibreOffice连接到OpenSUSE 13.1 MySQL数据库时也遇到了类似的问题。将LibreOffice更新到最新的稳定“静止”包,然后确保可以使用phpMyAdmin等工具访问数据库。确保您的用户链接到本地主机,而不是“%”(ANY)。这对我很有效,我可以通过LibreOffice添加数据。
附注-LibreOffice Base不会在第一次尝试时通过MySQL提供“本地连接”,您将需要使用“上一步”按钮,然后再次尝试查看选项。
希望这能帮上忙。

bihw5rsg

bihw5rsg7#

可能是用户名和密码不是您认为的那样。如果您的域名提供商在您购买它时向您发送了一封凭据电子邮件,用户名和密码就在那里。而不是您通过cPanel或PHPmyAdmin/SQL等设置的内容。它将是您用于该域名的cPanel密码。

bjp0bcyl

bjp0bcyl8#

我遇到了同样的问题,并通过将127.0.0.1更改为localhost来修复它

相关问题