2019年1月7日月曜日

Django データベースをmysql に変更

# pip3 install pymysql
# pip3 install mysql-connector-python
# pip3 freeze -l # <--インストールモジュールの確認
cx-Oracle==7.0.0
Django==2.1.5
django-crispy-forms==1.7.2
django-filter==2.0.0
et-xmlfile==1.0.1
jdcal==1.4
mod-wsgi==4.6.5
mod-wsgi-httpd==2.4.35.1
mysql-connector-python==8.0.13
openpyxl==2.5.12
protobuf==3.6.1
PyMySQL==0.9.3
pytz==2018.5
six==1.12.0

$ vi config/settings.py
DATABASES = {
   'default': {
      'ENGINE': 'django.db.backends.mysql',
      'NAME': 'django', # 作成したデータベース名 予め空DBを作成しておく。
      'USER': 'admin',
      'PASSWORD':'パスワード',
      'HOST': '',
      'PORT': '',
   }
}
$ vi manage.py
import pymysql
pymysql.install_as_MySQLdb()

$ mysql -u admin -p
mysql> create database django;
mysql> quit
$ python36 manage.py makemigrations
$ python36 manage.py migrate
$ python36 manage.py createsuperuser
$ python36 manage.py runserver

※下記エラーが発生。
File "/usr/local/lib64/python3.6/site-packages/pymysql/_auth.py", line 142, in sha2_rsa_encrypt
    raise RuntimeError("cryptography is required for sha256_password or caching_sha2_password")
RuntimeError: cryptography is required for sha256_password or caching_sha2_password

→mysql8にmysql_native_passwordの新しいユーザを作成。
https://wasurenaiyounikaitoko.blogspot.com/2018/10/centos7-mysql.html

0 件のコメント:

コメントを投稿

シャットダウン時の後処理 (shutdown)

# vi /etc/systemd/system/drop.service [Unit] Description= stop httpgwd DefaultDependencies=no Before=shutdown.target RefuseManualStart=true ...