Djangoで MySQLに接続しようとしたところ、Pythonのバージョンなどでやり方が異なり、意外とはまったので 2016年末現在でうまく行く方法をメモしておきます。
確認した環境
- Python 3.5.2
- Django 1.7.5
- MySQL 5.5.53
なお、開発環境は Cloud 9 を利用しています。
PyMySQLをインストール
MySQLのドライバーがいくつかあるようですが、「PyMySQL」が唯一? うまく行きました。
sudo pip install PyMySQL
setting.spyの書き換え
次のように MySQLに接続先を変えます。
'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
'ENGINE': 'django.db.backends.mysql',
'NAME': 'xxx',
'USER': 'xxx',
'PASSWORD': 'xxx',
'HOST': 'xxx',
}
manage.pyでインポート
manage.pyに次のように追加します
import pymysql
pymysq.install_as_MySQLdb()
これで接続ができました。