Laradock 在目前釋出的最新版本,會直接引用 MySQL latest version (MySQL 8.x)

由於 MySQL 8.x 版本的新密碼格式會引發 mysql container 一些錯誤,

The server requested authentication method unknown to the client...

因此,必須在安裝 laradock 調整 MySQL 版本

(若已經安裝且執行過 docker-compose up..,同樣可適用)

  1. 首先先停止所有運作中的 container
docker-compose down
  1. 將 laradock/.env 裡面的 MYSQL_VERSION=latest 修改為 5.7
MYSQL_VERSION=5.7
  1. 刪除 MySQL Database
//Delete mysql database
$ rm -rf ~/.laradock/data/mysql
  1. 重新建構 mysql image
//rebuild mysql image
$ docker-compose build mysql
//or try
$ docker-compose build --no-cache mysql
  1. 重新啟動 workspace container
$ docker-compose up -d nginx mysql phpmyadmin
  1. 連線

Laravel 的 .env 設定參考

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

若是使用其他資料庫管理軟體,則可嘗試

//ex phpmyadmin
host: 127.0.0.1
username: defualt
password: secret
database: default

//or

host:127.0.0.1
username: root
password: root
database: (null)

參考