无法连接Planetscale数据库(Prisma错误P1001)求助
Prisma连接Planetscale出现P1001错误的解决方案
检查Planetscale数据库状态
- 登录Planetscale控制台,确认目标数据库实例处于活跃运行状态,未被暂停或删除。
- 核对实例连接地址是否为
aws.connect.psdb.cloud,避免拼写错误。
验证本地网络与端口连通性
- 执行命令测试端口连通性:
telnet aws.connect.psdb.cloud 3306 # 或用nc命令 nc -zv aws.connect.psdb.cloud 3306 - 排查防火墙、代理或VPN是否拦截3306端口出站请求,可尝试断开VPN或切换个人热点重试。
- 执行命令测试端口连通性:
核对Prisma配置与环境变量
- 确认
prisma/schema.prisma中的数据源配置正确:datasource db { provider = "mysql" url = env("DATABASE_URL") } - 检查
DATABASE_URL环境变量,确保格式为mysql://<USERNAME>:<PASSWORD>@aws.connect.psdb.cloud/<DB_NAME>?sslaccept=strict,必须包含?sslaccept=strict参数,且无多余空格或特殊字符。
- 确认
重新生成Planetscale数据库凭证
- 登录Planetscale控制台进入目标数据库的Connect页面,重新生成凭证并替换到
DATABASE_URL中(注意凭证仅显示一次,需妥善保存)。
- 登录Planetscale控制台进入目标数据库的Connect页面,重新生成凭证并替换到
清除Prisma缓存并重新构建
- 执行强制生成命令清除缓存:
npx prisma generate --force - 再次尝试执行
npx prisma db push。
- 执行强制生成命令清除缓存:
检查IP白名单限制
- 若数据库开启了IP白名单,获取本地公网IP后,添加到Planetscale控制台的Settings > IP whitelist中。
内容的提问来源于stack exchange,提问作者Tal Yaakov
相关产品推荐
相关产品推荐

