DockerでのMySQL接続についての備忘録

最近、開発環境をXammpからDockerに移行しています。PDOでのMySQLに接続が上手くいかなかったのですが、どうやらDocker環境ではHOSTをlocalにするとエラーが起きるらしい…。

対処方法としては、データベースに作成するユーザーのホスト名をDockerが割り当てたIPにするか、’%’を指定するとエラーは解消されます。

ちなみ’%’は全てのホストという意味となります。

出典:https://codeaid.jp/blog/docker-mysql-php/

とのこと。詳しくは出典元を参照してください。

無事にPDOでMySQLに接続できました。

Win10で環境変数の設定を素早く開く方法

Win10のローカル開発環境でPHPのバージョンを切り替える必要があったので環境変数の設定を何回も開くのが面倒になった。

Windows+Rのあとに「rundll32 sysdm.cpl,EditEnvironmentVariables」で環境変数の設定画面が一発で開けることを知り目から鱗が落ちる。

コピペでも打ち込むのが面倒なので「rundll32 sysdm.cpl,EditEnvironmentVariables」でショートカットを作成するという結論にたどり着いた。

頻繫に環境変数の設定画面を開くならめちゃくちゃ楽。

Djangoのrunserverで思ってたんと違うプロジェクトが開く

VScodeのターミナルからpython manage.py runserverで開発サーバーを起動しても前に実行していた方のプロジェクトが表示される。テスト用にあたらしくプロジェクトを立ち上げてそっちからrunserverしても同じ。起動してしまうプロジェクトに戻ってサーバーを起動してから終了させたりしても同じ。

意味わからんのでイラッとしてお前を消せばすべて解決するだろうな!毎回しゃしゃってくるプロジェクトを削除してやろうとしたところ他のプログラムから開かれていて消せないというアラート。

VScodeを再起動することで改善した…、再起動大事、とても思った。

Djangoの「You’re accessing the development server over HTTPS, but it only supports HTTP.」というエラー

Djangoのsettings.pyに

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True

を追加したらローカル環境でページが開けなくなった。※ブラウザはChromeを利用

上のコードはhttps接続用のものでローカル環境だとエラーになるらしいのだけれど、Herokuでアプリが上手く動かない時にいろいろ試している時に追加した一文をコメントアウトするのを忘れていて、この事態に陥る

Djangoのrunserverはhttpsに対応していないのでhttpでアクセスしてねということらしいのだけどChromeでIPを叩いてもどうしてもhttps接続しようとしてくる。何が何でも安全に接続したいようだ…。

なんでもHSTSという機能が原因らしく履歴を削除したり

chrome://net-internals/#hsts

上のURLからChromeの設定でDelete domain security policiesからhttp接続したいのにhttps接続してしまう対象のドメインを削除したら改善するというので試してみたが改善なし。

あとはChromeを再インストールするという手もあるようだけれど、さすがにめんどくさい。

1時間ほどあれこれ試して、ふと、我に返る。こんなことに時間を掛けるくらいならコードを書こう。だってシークレットウィンドウなら開けるし、ということでシークレットウィンドウだと問題なく開けるのでそれで対応することにした。

Close