首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >原理:数据库:创建连接被拒绝

原理:数据库:创建连接被拒绝
EN

Stack Overflow用户
提问于 2020-06-08 07:13:04
回答 1查看 1K关注 0票数 0

我让bitnami LAMPStack 7.4.6-1在最新的Ubuntu上的3307 port上运行MySQL数据库。当我以root用户身份运行此命令时,Symfony版本5.1.0:

代码语言:javascript
运行
复制
root@ubuntu:/opt/lampstack-7.4.6-1/apache2/htdocs/sfcourse# php bin/console doctrine:database:create

我看到的错误是:

代码语言:javascript
运行
复制
[error] Error thrown while running command "doctrine:database:create". Message: "An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused"


In AbstractMySQLDriver.php line 93:

  An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused  


In PDOConnection.php line 31:

  SQLSTATE[HY000] [2002] Connection refused  


In PDOConnection.php line 27:

  SQLSTATE[HY000] [2002] Connection refused

.env文件DATABASE_URL=mysql://root:000000@localhost:3307/sfcourse

编辑: doctrine.yaml文件:

代码语言:javascript
运行
复制
doctrine:
#    parameters:
#        env(DATABASE_URL): ''
    dbal:
        driver: 'pdo_mysql'
        server_version: '5.7'
        charset: utf8mb4
        default_table_options:
            charset: utf8mb4
            collate: utf8mb4_unicode_ci
        url: '%env(resolve:DATABASE_URL)%'

已搜索,但大多数建议将127.0.0.1设置为localhost

编辑:检查mysql> SHOW VARIABLES LIKE "%version%";后,MySQL版本为8.0.20

我可以通过终端以超级用户身份登录到SQL,这是有效的

编辑:我创建了相同的方式用户测试,可以通过终端登录到MySQL,但不能通过主义创建数据库。我们正处于相同的起点。

编辑:我将sql端口改回默认值3306,并以sudo规则命令运行。现在出现错误:

代码语言:javascript
运行
复制
An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for u  
  ser 'db_user'@'127.0.0.1' (using password: YES)

我可以作为db_user连接到MySQL。如果我将.env中的user更改为other,错误仍然显示为db_user。

编辑:这是相同的问题An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES),但答案是哑巴,他安装了他所拥有的。

EN

回答 1

Stack Overflow用户

发布于 2020-06-08 13:34:56

在doctrine.yaml文件中删除以下行

代码语言:javascript
运行
复制
    parameters:
        env(DATABASE_URL): ''

根据当前symonfy documentation for doctrine,doctrine.yaml文件中没有parameters

server_version给我带来了一些麻烦。我用下面这行修改了它

代码语言:javascript
运行
复制
server_version: 5.7.9

要查找服务器版本source,请执行以下操作

通过控制台连接到您的数据库,它会立即告诉您版本

代码语言:javascript
运行
复制
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.0.27-standard MySQL Community Edition - Standard (GPL)

否则

代码语言:javascript
运行
复制
mysql> SHOW VARIABLES LIKE "%version%";
+-------------------------+------------------------------------------+
| Variable_name           | Value                                    |
+-------------------------+------------------------------------------+
| protocol_version        | 10                                       |
| version                 | 5.0.27-standard                          |
| version_comment         | MySQL Community Edition - Standard (GPL) |
| version_compile_machine | i686                                     |
| version_compile_os      | pc-linux-gnu                             |
+-------------------------+------------------------------------------+
5 rows in set (0.04 sec)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62252839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档