我正在啟動一個全新的 PlanetScale 支援項目,並使用 Prisma 設定。我按照此官方文件上的說明進行操作(除了更改資料庫名稱),在本地代理到資料庫後,我發現自己無法運行 npx prisma db Push
命令,出現以下錯誤:
server does not allow insecure connections, client must use SSL/TLS
我對資料庫設定非常陌生,在此之前我從來不知道我需要配置任何這些連接,因為我認為它們是作為我正在使用的資料庫設定的一部分來處理的。
我知道我透過 Prisma 使用的 mySql 在對資料庫執行任何互動之前需要 SSL 或 TLS,但我還沒有找到任何方法來設定我的環境。
我已經看到有關將 ?tls={true}
添加到我的 DATABASE_URL
末尾的引用,但這沒有任何作用。此外,鑑於提供的 DATABASE_URL
是由 PlanetScale 提供的
DATABASE_URL='mysql://un5pbmobnc73muwvbo77:************@us-east.connect.psdb.cloud/*******?ssl={"rejectUnauthorized":true}'
我嘗試將 {"rejectUnauthorized":true}
更改為 {"rejectUnauthorized":false}
。這也沒有改變什麼。
涉及物件的更複雜的解決方案是導致我的資料庫完全找不到的參數。
我知道SSL 已被棄用,我不應該使用它,但我不僅不知道如何正確地將TLS 添加到我的mySQL,而且正如您可能已經確定的那樣,我發現自己有些無法完全掌握其實現的概念。
P粉1639513362023-11-03 00:17:47
將 ?ssl={"rejectUnauthorized":true}
替換為 ?sslaccept=strict
。下面是一個例子。
DATABASE_URL="mysql://xxxx:yyyy@ap-northeast.connect.psdb.cloud/zzzz?sslaccept=strict"
詳細資訊寫在下面。
https://www.prisma.io/docs/concepts/資料庫連接器/mysql#arguments
#祝你好運!