Python3+Django1.7で MySQLに接続先を変える

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()

これで接続ができました。