独学エンジニアのメモ帳

得た知識のアウトプットとか日常のメモとか。ゆるくやる。

.envの値に「#」がある時はクォーテーションで囲まなければならない

先日、VPS上にLaravel環境を作った。

で、一通り構築し終わってmigrateしたところ、
下記エラーが発生。

$ php artisan migrate

SQLSTATE[HY000] [1045] Access denied for user...

mysql側でいくら原因を探しても分からず。
ネットを調べまわっていたところ、「これか?」と思うものを発見。

Laravel 5.8 Access denied for user 'root'@'localhost' (using password: YES)

今回作った環境では、mysqlのパスワードに

MYSQL_PASSWORD=HOGEHOGE#

のように「#」が含まれていた。
.envファイルで値に「#」が含まれていると、挙動がおかしくなるらしい。
コメントアウトの記号だし、その関係か?

とにかく

MYSQL_PASSWORD="HOGEHOGE#"

のようにクォーテーションで囲んでやり、再度migrateしてやると無事動いた。