2019年6月21日金曜日

Django: DBをMySQLに変更する - pymysqlではなくmysqlclientを使う

実行日: 2019-06-21
Python: 3.7
Django: 2.1
MySQL: 5.7
OS: Windows10

DjangoのDBをMySQLに変更しようとネットで調べると、多くの記事では、
・PyMySQLをインストールしろ($ pip install PyMySQL)
・manage.py に import pymysqlとpymysql.install_as_MySQLdb()を記述しろ
とあるのですが、PyMySQLのバージョンが古いとのエラーになってしまいました。

以下を参考にすると、MySQL接続には PyMySQL ではなく mysqlclient  をデフォルトで使えとのことでした。

Django: エラー解決法 "raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; 〜)

$ pip uninstall pymysql ← pymysqlを削除しておく
$ pip install mysqlclient ←mysqlclientをインストール

※manage.pyには何も追記する必要はなし


基本作業は以下となります。

1.MySQLを公式サイトからダウンロードしてインストールする。
2.MySQLにパスを通す。(参考: https://webkaru.net/mysql/windows-confirmation/
3.settings.pyのDATABASEを以下のように編集する。

1
2
3
4
5
6
7
8
9
10
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'sample',  # データベース名
        'USER': 'rootuser',  # ユーザ名
        'PASSWORD': 'ZZZ',  # パスワード
        'HOST': '127.0.0.1',  # MySQLがあるサーバのIPアドレスやホストを。空欄はローカルホスト
        'PORT': '3306',  # 空欄はデフォルトポートの3306
    }
}

4.MySQLコマンドプロンプトでDBを作成する。
mysql> CREATE DATABASE sample;
※settings.pyで設定したNAMEと同じ名前のDBを作成

5.$ python manage.py migrate を実行する。

以上です。

0 件のコメント:

コメントを投稿