データベースの接続設定 - MySQL

ここでは Django から MySQL データベースに接続する方法を説明します。

プロジェクトの設定ファイル settings.py にて次の情報を構成します。

DATABASES = {
    'default':{
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'データベーススキーマ名',
        'USER': 'ユーザー名',
        'PASSWORD': 'パスワード',
        'HOST': 'ホスト',
        'PORT': 'ポート番号',
    }
}

例えば次のようになります。

DATABASES = {
    'default':{
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydjangodb',
        'USER': 'user1',
        'PASSWORD': 'password',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

それから、同じく settings.py にてタイムゾーンの設定もしておきましょう。

TIME_ZONE = 'Japan'

ロサンゼルスでは America/Los_Angeles です。

接続の確認

上記設定が正しければ、次の管理コマンドで MySQL コマンドラインに入れるはずです。

$ python manage.py dbshell

もしエラーが出る場合はエラーメッセージをよく確認してください。よくあるエラーは次の通りです。

パスワード間違い

次のエラーはパスワードが間違っているために、データベースにログインできていません。

ERROR 1045 (28000): Access denied for user 'user1'@'hostname'

settings.pyDATABASES の設定を見直してください。

MySQLdb モジュールがありません

MySQL 自体はインストールしているのに次のエラーが出る場合です。

Error loading MySQLdb module: No module named 'MySQLdb'.
Did you install mysqlclient or MySQL-python?

この場合は MySQL のクライアントモジュールがインストールされていないことが考えられます。

次のコマンドで mysqlclient をインストールします。

$ pip install mysqlclient

MySQL のコマンドラインシェルに入ったら、抜けるのは exit コマンドです。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門