[Django]    django -mysql 연동
Python/Django

[Django] django -mysql 연동

@@@@ 2020/6/20  aws ec2 ubuntu 18 기준!

@@@@2020/10/27   mysqld.cnf 파일수정 추가  외부접속

 

1. mysql 설치 

apt install mysql-server mysql-client

 

 

// 아마존 리눅스 일경우 (mysql 5.7)

-sudo yum install mysql57-server

-sudo service mysqld start

 

 

2 . 아이디 생성

mysql -u root -p

//임시 db 생성

create database django ;  

//사용자 생성및 '%' 외부권한 접속 허용

grant all privileges on django.* to 사용자이름@'%' identified by '사용자패스워드';

//저장

flush privileges;

quit

 

3. 연동을 위한 필요툴

apt install libmysqlclient-dev

pip install mysqlclient

 

4. django setting.py

setting.py 수정

sqlite3 부분은 주석처리 해준다

 

@@ 복사하세여 

 

DATABASES = {

"default": {

# "ENGINE": "django.db.backends.sqlite3",

# "NAME": os.path.join(BASE_DIR, "db.sqlite3"),

"ENGINE": "django.db.backends.mysql",

"NAME": "django",

"USER": "mysql 사용자이름",

"PASSWORD": "mysql 비밀번호",

"HOST": "localhost",

"PORT": "3306",

"OPTIONS": {"init_command": 'SET sql_mode="STRICT_TRANS_TABLES"'},

}

}

 

 

 

5. migrate

manage.py 경로에서 python manage.py migrate

후 mysql 접속

use django;

show tables;

성공!

 

@@@@2020/10/27   mysqld.cnf 파일수정 추가

혹시  mysql 관련 DB 툴을 위한  외부접속허용을 원한다면 !

 

Mysql 5.7 이상

vim /etc/mysql/mysql.conf.d/mysqld.cnf

 

bind-address

지금 저는 0.0.0.0 으로 되어있지만 아마보통 127.0.0.1  로 되어있을꺼예요 ! 

127.0.0.1 은 자기자신 (로컬) 만을 가리키니 0.0.0.0 으로 바꿔줍시다!

 

mysql 재시작!!

sudo service mysql restart

 

netstat명령어를 이용해 포트를 확인해봅시다!

sudo netstat -tlnp | grep mysqld

 

끄읏!

'Python > Django' 카테고리의 다른 글

[Django] React -Django cors  (0) 2020.09.17
[Django] django-debug-toolbar  (0) 2020.09.05
[Django] Static , Media  (0) 2020.09.04
[Django] DRF 로그인, 회원가입 [미완]  (0) 2020.08.21
[Django] Django RestFramework (DRF)  (0) 2020.08.21