概要
Python3 で MySQL に接続しようとしたときのメモです。
具体的な環境は次の通りです。
- Python 3.4.2
- MySQL 5.6.22
- Django 1.7.5
インストールしたもの
Python3 と Django, MySQL は既にインストールされているものとします。
$ pip install PyMySQL
Python2 で大活躍だった python-mysql は Python3 環境では動かないようなので PyMySQL を代わりにインストールします。
設定
settings.py
の DATABASES 変数を次のようにします。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dbname', # 適当です
'USER': 'dbuser', # 適当です
'PASSWORD': 'FIXME', # 適当です
'HOST': 'FIXME', # 適当です (ローカルホストなら空でも可)
'PORT': 'FIXME', # 適当です (デフォルトポートなら空でも可)
}
}
ここまでした状態で, 次の二行を Django プロジェクトのどこかに追加します。私は manage.py
の中に追加しました。
import pymysql
pymysql.install_as_MySQLdb()
私の環境ではこれで Python3 + Django から MySQL へ接続できました。