2017/01/14

[MySQL] Laravel 在連接 MAMP 的 MySQL 出現 SQLSTATE[HY000] [2002] 錯誤的解決方法

今天在 Agile Tour Taichung 2017 工作坊的環境架設中,有學員遇到在實作 db migration 時出現 SQLSTATE[HY000] [2002] 的錯誤





由於這個錯誤訊息我本身已經遇到太多次了,多到一看到這個錯誤代碼就知道發生什麼事

但還是再做個記錄,也許又可以解救遇到相同的困擾的朋友們



因為 Mac 上的 MAMP 中 MySQL 的 socket 路徑並非如同預設值 /tmp/mysql/mysql.sock
而是 /Applications/MAMP/tmp/mysql/mysql.sock

只要在 Laravel 的 config/database.php 中 mysql 設定區塊加上 unit_socket 的設定

'unix_socket' => env('DB_SOCKET', ''),


並修改 .env 中對應的環境變數值

DB_SOCKET='/Applications/MAMP/tmp/mysql/mysql.sock'


存檔後,再重新執行 migrate 指令,成功!


沒有留言: