Laravel5.7でMySQL8に接続できない問題

これ作ってたらぶち当たったので。

php artisan migrate

ってやると

Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known (SQL: select * from information_schema.tables where table_schema = default and table_name = migrations)

とかって怒られる。

調べるとMySQL8ではデフォルトでの認証方式が違うらしくLaravelではうまく接続できないらしい。

解決法

解決策としては2つあり、MySQL5.7を使う方法と、MySQL8の認証方式を変更する方法がある(こっちは解決したあと知った)。

結局、自分はDockerのイメージをMySQL5.7に固定した。

もう一方のMySQL8の認証方式を変更する方法に関しては以下の記事が詳しく解説されていた。

MySQL8.0 認証方式を変更するhttps://qiita.com/ucan-lab/items/3ae911b7e13287a5b917

暇な時にでも認証方式を変更する方に対応させておきたい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA