簡體   English   中英

Docker mysql 連接失敗,laravel

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM