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