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

The*_*Man 12 mysql tls1.2 prisma planetscale

我正在启动一个全新的 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,而且正如您可能已经确定的那样,我发现自己有些无法完全掌握其概念完全实施。

小智 28

?ssl={"rejectUnauthorized":true}用。。。来代替?sslaccept=strict。下面是一个例子。

DATABASE_URL="mysql://xxxx:yyyy@ap-northeast.connect.psdb.cloud/zzzz?sslaccept=strict"
Run Code Online (Sandbox Code Playgroud)

详细内容写在下面。

https://www.prisma.io/docs/concepts/database-connectors/mysql#arguments

祝你好运!