[英]Docker mysql connection fail with laravel
所以我在讓我的 Laravel 應用程序連接到我的 MySQL 容器時遇到了麻煩。 使用以下 docker-compose 我收到錯誤:
連接被拒絕(SQL:select * from information_schema.tables where table_schema = homestead and table_name = migrations)
database:
image: mysql:5.7
volumes:
- dbdata:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD=secret"
- "MYSQL_DATABASE=homestead"
- "MYSQL_USER=root"
- "MYSQL_PASS=secret"
ports:
- "33061:3306"
如果我將圖像更改為 mysql,則會出現錯誤:
服務器請求客戶端未知的身份驗證方法(SQL:select * from information_schema.tables where table_schema = homestead and table_name = migrations)
服務器請求客戶端未知的身份驗證方法 [caching_sha2_password]
我的 laravel .env 看起來像這樣:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=root
DB_PASSWORD=secret
我也試過 DB_HOST=database 。
任何幫助都會很棒。 謝謝!
操作系統:OSX
我猜您在dbdata
文件夾中有一些舊數據,它們導致了問題。 如果您不需要舊數據庫,則只需刪除此文件夾的內容並從頭開始啟動 mysql 容器。 另一個問題是端口。 您正在端口 33061 上發布 MySQL,因此 Laravel 應配置為DB_PORT=33061
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.