【发布时间】:2018-12-18 20:31:54
【问题描述】:
我有一个连接到本地 MySQL 实例的 Symfony 4 应用程序。它在应用程序中运行良好,并且在使用控制台命令进行教义时也运行良好。突然间,即使我的数据库配置没有任何变化(并且我的 mysql 实例正在运行),我也收到了这个错误:
SQLSTATE[HY000] [1045] 用户 'root'@'localhost' 的访问被拒绝(使用密码:否)
当我跑步时:
php bin/console 原则:schema:update --force
但是我在应用程序中的连接工作得非常好!一个小时前,同样的命令运行良好。我知道已经有很多关于这个问题的问题,但答案不适用于我。我现在面临完成一个项目的时间压力,这让我发疯。
这是我的 .env 配置:
DB_USER=root
DB_PASSWORD=root
DB_HOST=localhost
DB_PORT=3306
DB_NAME=test DATABASE_URL=mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}
我的教义.yaml 配置如下所示:
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
mapping_types:
enum: string
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
【问题讨论】:
-
小点你真的不应该首先使用
root来访问 MySQL 数据库的任何应用程序 -
一个人不得不问,根据它工作到一个小时前你最近改变了什么
-
@RiggsFolly 我没有更改任何与数据库相关的内容……我只是在编写 JavaScript 代码。我通过更改教义.yaml 中的字符集和排序规则解决了这个问题,但在那之前它一直保持不变(我可以在我的 git 中看到它)。我猜它只是这些鬼魂之一。
标签: php mysql symfony doctrine