Laravel Sail:致命:用户 "sail" 的密码验证失败
Laravel Sail: FATAL: password authentication failed for user "sail"
我用 PostgreSQL 创建了一个 laravel sail 项目,然后我尝试在第 3 方软件(TablePlus 和 Navicat)上连接服务器,我收到了这个错误消息
FATAL: password authentication failed for user "sail"
这是我的docker-compose.yml
pgsql:
image: 'postgres:13'
ports:
- '${FORWARD_DB_PORT:-5432}:5432'
environment:
PGPASSWORD: '${DB_PASSWORD:-secret}'
POSTGRES_DB: '${DB_DATABASE}'
POSTGRES_USER: '${DB_USERNAME}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
volumes:
- 'sailpgsql:/var/lib/postgresql/data'
networks:
- sail
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"]
retries: 3
timeout: 5s
这是我的环境
DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
这是全新安装,我没有做任何更改。它正在与 MySQL 一起使用,我是不是遗漏了什么?谢谢..
结果端口 5432 已经被我的 windows 上的另一个 postgresql 服务使用,所以我只是在我的环境中更改 FORWARD_DB_PORT。傻我
在从源代码管理克隆我的 Laravel Sail 项目后,我也 运行 遇到了这个问题。我发现错误的原因是我在将 DB_PASSWORD 添加到我的新 .env 文件之前下载了 Sail 并启动了容器。尽管这被标记为已解决,但我还是会 post 以防万一这就是其他人遇到此问题的原因。
修复错误:
- 确保您的环境变量设置正确
- 重新创建包含数据库的 Docker 卷
sail down
docker volume ls
docker volume rm example-app_sailmysql
sail up -d
^ 将“example-app_sailmysql”替换为您的 Docker 卷的名称
在克隆 Laravel Sail 项目时弄清楚我的所有问题后,我制作了一个要点,其中包含要遵循的步骤。它还包含一个脚本,可轻松安装 Composer 依赖项以重新获得对 Sail 二进制文件的访问权限。
https://gist.github.com/LaurenceRawlings/3b4f801cafb2e683f45a3b573dad868d
我用 PostgreSQL 创建了一个 laravel sail 项目,然后我尝试在第 3 方软件(TablePlus 和 Navicat)上连接服务器,我收到了这个错误消息
FATAL: password authentication failed for user "sail"
这是我的docker-compose.yml
pgsql:
image: 'postgres:13'
ports:
- '${FORWARD_DB_PORT:-5432}:5432'
environment:
PGPASSWORD: '${DB_PASSWORD:-secret}'
POSTGRES_DB: '${DB_DATABASE}'
POSTGRES_USER: '${DB_USERNAME}'
POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}'
volumes:
- 'sailpgsql:/var/lib/postgresql/data'
networks:
- sail
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"]
retries: 3
timeout: 5s
这是我的环境
DB_CONNECTION=pgsql
DB_HOST=pgsql
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=sail
DB_PASSWORD=password
这是全新安装,我没有做任何更改。它正在与 MySQL 一起使用,我是不是遗漏了什么?谢谢..
结果端口 5432 已经被我的 windows 上的另一个 postgresql 服务使用,所以我只是在我的环境中更改 FORWARD_DB_PORT。傻我
在从源代码管理克隆我的 Laravel Sail 项目后,我也 运行 遇到了这个问题。我发现错误的原因是我在将 DB_PASSWORD 添加到我的新 .env 文件之前下载了 Sail 并启动了容器。尽管这被标记为已解决,但我还是会 post 以防万一这就是其他人遇到此问题的原因。
修复错误:
- 确保您的环境变量设置正确
- 重新创建包含数据库的 Docker 卷
sail down
docker volume ls
docker volume rm example-app_sailmysql
sail up -d
^ 将“example-app_sailmysql”替换为您的 Docker 卷的名称
在克隆 Laravel Sail 项目时弄清楚我的所有问题后,我制作了一个要点,其中包含要遵循的步骤。它还包含一个脚本,可轻松安装 Composer 依赖项以重新获得对 Sail 二进制文件的访问权限。
https://gist.github.com/LaurenceRawlings/3b4f801cafb2e683f45a3b573dad868d