データベースの接続設定 - 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.py の DATABASES の設定を見直してください。
MySQLdb モジュールがありません
MySQL 自体はインストールしているのに次のエラーが出る場合です。
Error loading MySQLdb module: No module named 'MySQLdb'. Did you install mysqlclient or MySQL-python?
この場合は MySQL のクライアントモジュールがインストールされていないことが考えられます。
次のコマンドで mysqlclient をインストールします。
$ pip install mysqlclient
MySQL のコマンドラインシェルに入ったら、抜けるのは exit コマンドです。