如何解决Laravel 在现有项目上航行 - 未知数据库 SQLSTATE[HY000] [1049]
我正在尝试使用 Laravel Sail 在本地合并现有项目。我不断收到 1049 未知数据库错误。我尝试了以下方法:
sail PHP artisan config:clear
sail PHP artisan config:cache
我也尝试将 MysqL 作为主机替换为使用 127.1.1.0 就像 .env.example 文件一样,但没有运气。
我也尝试过重建容器,但似乎无法解决问题。
这是我的 .env 文件(当我尝试使用非 root 用户时,我收到 1045 错误,提示访问被拒绝,想知道这些是否相关):
DB_CONNECTION=MysqL
DB_HOST=MysqL
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
这是我的 docker-compose.yml 文件:
MysqL:
image: 'MysqL:8.0'
ports:
- '${FORWARD_DB_PORT:-3306}:3306'
environment:
MysqL_ROOT_PASSWORD: '${DB_PASSWORD}'
MysqL_DATABASE: '${DB_DATABASE}'
MysqL_USER: '${DB_USERNAME}'
MysqL_PASSWORD: '${DB_PASSWORD}'
MysqL_ALLOW_EMPTY_PASSWORD: 'yes'
volumes:
- 'sailMysqL:/var/lib/MysqL'
networks:
- sail
数据库配置:
'MysqL' => [
'driver' => 'MysqL','url' => env('DATABASE_URL'),'host' => env('DB_HOST','127.0.0.1'),'port' => env('DB_PORT','3306'),'database' => env('DB_DATABASE','forge'),'username' => env('DB_USERNAME','password' => env('DB_PASSWORD',''),'unix_socket' => env('DB_SOCKET','charset' => 'utf8mb4','collation' => 'utf8mb4_unicode_ci','prefix' => '','prefix_indexes' => true,'strict' => false,'engine' => null,'options' => extension_loaded('pdo_MysqL') ? array_filter([
PDO::MysqL_ATTR_SSL_CA => env('MysqL_ATTR_SSL_CA'),]) : [],],
更新:
我在同一个 WSL 安装的相邻目录中安装了全新安装的 laravel,并验证了 docker-compose.yml、.env 和 database.PHP 配置文件都相同。新安装启动良好,我可以连接到数据库,现有项目仍然无法正常工作。真是一头雾水..
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。