【问题标题】:MikroORM failed to connect to database despite correct username and password尽管用户名和密码正确,但 MikroORM 无法连接到数据库
【发布时间】:2022-01-09 18:16:30
【问题描述】:

我正在关注 Ben Awad 的 youtube tutorial 编写一个完整的堆栈应用程序。我正在将 MikroORM 与 postgres 一起使用。

我创建了一个名为tut 的数据库,一个名为tut 的用户,然后授予该用户访问该数据库的权限。我可以像这样验证用户是否可以访问数据库:

$ su - tut
Password:
user:/home/tut$ psql
tut=> 

这是我的 mikro-orm.config.ts 的样子:

import {Post} from "../entities/Post";
import {MikroORM} from "@mikro-orm/core";
import path from "path"

export default {
    migrations: {
        path: path.join(__dirname, "./migrations"),
        pattern: /^[\w-]+\d+.*\.[tj]s$/
    },
    entities: [Post],
    dbName: 'tut',
    user: 'tut',
    password: 'tut',
    type: 'postgresql',
    debug: process.env.NODE_ENV !== 'production',
} as Parameters<typeof MikroORM.init>[0]

当我尝试连接到 index.ts 中的数据库时,我收到“MikroORM 无法连接到 postgresql://tut:*****@127.0.0.1:5432 上的数据库 tut”(错误代码 28P01) .

我应该在 localhost 上运行 psql 服务器吗?据我所知,本教程没有让你这样做。

【问题讨论】:

  • 错误代码28P01Error codes 中的“invalid_password”。最好的猜测是数据库用户tut 在数据库中没有密码。您在问题su 的顶部向操作系统用户tut 显示的序列然后使用没有数据库密码的套接字登录。尝试(作为任何操作系统用户)psql -d tut -U tut -h 127.0.0.1,您将看到密码错误。执行“psql -d tut -U tut”,我猜你会连接。
  • 修复为用户 tut 创建数据库密码或计算如何配置 MikroORM 以连接到套接字。

标签: postgresql graphql mikro-orm


【解决方案1】:

我通过在psql 中运行\password 解决了这个问题,谢谢@AdrianKlaver

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 2018-10-18
    • 2020-07-23
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多