Q:
Windows10上で、Docker-desktopによりMySQLを管理し、 anacondaのcondaで作成した仮想環境で、python、Djangoを管理している場合、 上記のMySQLのデータベースに、Djangoから、接続できますか
A:
はい、できます。
Docker-desktopでMySQLを管理し、anacondaのcondaで作成した仮想環境で、python、Djangoを管理している場合、上記のMySQLのデータベースに、Djangoから、接続するには、以下の手順に従います。
- Docker-desktopでMySQLを起動します。
- anacondaのcondaで作成した仮想環境をアクティブにします。
- pipでmysqlclientをインストールします。
- Djangoプロジェクトのsettings.pyファイルを開きます。
- DATABASESの設定を変更します。
- Djangoプロジェクトをmigrateします。
- Djangoプロジェクトを起動します。
これで、Djangoから、MySQLのデータベースに接続できるようになります。
具体的な手順は、以下のとおりです。
1.Docker-desktopでMySQLを起動します。
>docker run -d -p 3306:3306 –name mysql -e MYSQL_ROOT_PASSWORD=password mysql
2.anacondaのcondaで作成した仮想環境をアクティブにします。
>conda activate my_env
3.pipでmysqlclientをインストールします。
>pip install mysqlclient
4.Djangoプロジェクトのsettings.pyファイルを開きます。
5.DATABASESの設定を変更します。
DATABASES = {
’default’: {
’ENGINE’: ‘django.db.backends.mysql’,
’NAME’: ‘my_database’,
’USER’: ‘root’,
’PASSWORD’: ‘password’,
’HOST’: ‘localhost’,
’PORT’: 3306,
}
}
6.Djangoプロジェクトをmigrateします。
>python manage.py migrate
7.Djangoプロジェクトを起動します。
>python manage.py runserver
これで、Djangoから、MySQLのデータベースに接続できるようになります。
[補足] mysqlclientは、PythonでMySQLに接続するためのライブラリです。