Django Framework - MySQL
MySQL
djangoではSQLiteは基本的に提供されていますが、実際には提供には向いていないので、使いやすいMySQLに変更しました.
MySQL-インストール
まず、MySQLのインストールはLinux環境でのインストールです
$ pip install mysql-server
PythonではmysqlclientというライブラリでMySQLとDBをバインドできるので、追加のインストールが必要です.$ pip install mysqlclient
mysqlclientのインストール中にエラーが発生しました本人が下図のようにエラー(egg info error)
理由は探していませんが、Googleの検索結果によると、
libmysqlclient-dev
を設定してこの問題を解決しました.sudo apt-get install libmysqlclient-dev
MySQL-実行
$ service mysql start
MySQL - settings.py
SQLite->MySQLに変更されました.設定を変更する必要があります.
DATABASES = {
'default' : {
'ENGINE': 'django.db.backends.mysql', # 사용할 엔진 설정, mysql로 바꿔준다
'NAME': 'test', # 사용할 DB 이름
'USER': 'test', # User ID
'PASSWORD': 'test', # User Password
'HOST': 'localhost', # 접속 IP
'PORT': '3306', # 접속 Port (default:3306)
}
}
SECRET KEYと同様に、外部ファイルに解凍して管理することはセキュリティに有利です.MySQL-ユーザー設定
rootユーザー接続mysqlで使用するデータベースを作成します.
$ create database DB이름;
使用するユーザー(test)を作成します.$ create user '유저ID' identified by '비밀번호';
'test'@'접속ip(localhost, ...)'
を指定します.$ grant all privileges on DB이름.* to '유저ID'; #해당DB의 모든(*) 테이블에 모든 권한을 준다.
$ grant select on DB이름.* to '유저ID'; # select 권한만 준다.
ユーザー接続(コンソール)$ mysql -u 유저이름 -p
$ 비밀번호 입력
MySQL-アプリケーション
データベースのモデルを使用します.pyを変更してmigrateして適用します.
$ python3 manage.py makemigrations # 초기 파일 만들기
$ python3 manage.py migrate
Reference
この問題について(Django Framework - MySQL), 我々は、より多くの情報をここで見つけました https://velog.io/@dlwpdlf147/Django-Framework-MySQLテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol