标签: planetscale

PlanetScaleDb Prisma 设置 - 服务器不允许不安全连接,客户端必须使用 SSL/TLS

我正在启动一个全新的 PlanetScale 支持的项目,并使用 Prisma 设置。我按照此官方文档上的说明进行操作(除了更改数据库名称),在本地代理到数据库后,我发现自己无法运行npx prisma db push命令,出现以下错误:

server does not allow insecure connections, client must use SSL/TLS
Run Code Online (Sandbox Code Playgroud)

我对数据库设置非常陌生,在此之前我从来不知道我需要配置任何这些连接,因为我认为它们是作为我正在使用的数据库设置的一部分来处理的。

我知道我通过 Prisma 使用的 mySql 在对数据库执行任何交互之前需要 SSL 或 TLS,但我还没有找到任何方法来为我的环境进行设置。

我看到有人提到要?tls={true}在我的末尾添加内容DATABASE_URL,但这没有任何作用。此外,鉴于所提供的内容DATABASE_URL是由 PlanetScale 提供的

DATABASE_URL='mysql://un5pbmobnc73muwvbo77:************@us-east.connect.psdb.cloud/*******?ssl={"rejectUnauthorized":true}'
Run Code Online (Sandbox Code Playgroud)

我尝试更改{"rejectUnauthorized":true}{"rejectUnauthorized":false}. 这也没有改变什么。涉及对象的更复杂的解决方案是导致我的数据库完全找不到的参数。

我知道 SSL 已被弃用,我不应该使用它,但我不仅不知道如何正确地将 TLS 添加到我的 mySQL,而且正如您可能已经确定的那样,我发现自己有些无法完全掌握其概念完全实施。

mysql tls1.2 prisma planetscale

12
推荐指数
1
解决办法
9965
查看次数

如何使用 SSL 从本地主机上的 node.js 连接到在 PlanetScale 上运行的 MySQL 数据库服务器?

我正在尝试连接到 PlanetScale 上的 MySQL 服务器,但无法连接,因为它需要 SSL。

这是他们的文档,但不清楚它说了什么。 https://planetscale.com/docs/concepts/secure-connections

这是连接 URL:DATABASE_URL='mysql://co30rXXXXXXX:pscale_pw_XXXXXXX@hoqx01444p30.us-east-4.psdb.cloud/restaurant?ssl={"rejectUnauthorized":true}'

这是我运行时从终端看到的内容yarn run migration-run

纱线运行v1.22.18 $ npx prisma migrate dev 从.env加载的环境变量 从prisma/schema.prisma加载的Prisma模式数据源“db”:MySQL数据库“restaurant”位于“hoqx0XXXXX.us-east-4.psdb.cloud:3306” ”

错误:迁移引擎错误:未知错误:代码:UNAVAILABLE 服务器不允许不安全连接,客户端必须使用 SSL/TLS

error 命令失败,退出代码 1。 info 请访问 https://yarnpkg.com/en/docs/cli/run以获取有关此命令的文档。

有没有人尝试过从本地主机上的 Node.js 连接到 PlanetScale DB?我尝试了 Stackoverflow 的其他一些建议,但似乎不起作用。

mysql ssl ssl-certificate node.js planetscale

4
推荐指数
1
解决办法
4363
查看次数

针对“aws.connect.psdb.cloud”处的数据库服务器进行身份验证失败,为“name”提供的数据库凭证无效

我在下一个 js 应用程序上使用 planestscale 和 prisma,我试图在 vercel 上托管该应用程序,但它在本地主机上运行,​​没有任何错误,但一旦我进入 depolyment,我就会计算此错误 Authentication failed against database server at `aws.connect。 psdb.cloud`,为“name”提供的数据库凭据无效。
我向 vercel 添加了相同的环境变量,并且该变量位于 .env 文件中

DATABASE_URL='mysql://<um>:<pw>Q@aws.connect.psdb.cloud/<db-name>?sslaccept=strict'
Run Code Online (Sandbox Code Playgroud)

注意:我替换了占位符

这是我的 schema.prisma

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
  relationMode = "prisma"
}
Run Code Online (Sandbox Code Playgroud)

为什么它在部署中的工作方式不一样

next.js vercel prisma planetscale

3
推荐指数
1
解决办法
2517
查看次数

不允许外键约束(Prisma)

当前在尝试将架构更改推送到 Planetscale 数据库时遇到问题。不确定我可能做错了什么。我对 prisma 相当陌生,所以我希望得到一些帮助:)。

generator client {
  provider      = "prisma-client-js"
  binaryTargets = ["native"]
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id    String @id @default(uuid())
  notes Note[]
}

model Note {
  id     String @id @default(uuid())
  userId String @unique
  user   User   @relation(fields: [userId], references: [id])
}
Run Code Online (Sandbox Code Playgroud)

尝试过迁移。如果一对多的关系被删除,错误就会消失。

mysql prisma planetscale

2
推荐指数
1
解决办法
5423
查看次数

标签 统计

planetscale ×4

mysql ×3

prisma ×3

next.js ×1

node.js ×1

ssl ×1

ssl-certificate ×1

tls1.2 ×1

vercel ×1