진짜 개발자
본문 바로가기

FrameWork/Django

Django - CentOS7 django , mariaDB 연동

728x90
CentOS7에서 Django, mariaDB(Mysql) 연동
    - django 설치와, mariaDB서버가 이미 설치되어있다고 가정하고 설명하겠다
    - 또 각각 다른 노드에 설치되어있어야 한다


1. 모듈 설치
    - yum install -y mariadb-devl gcc
    - pip3.6 install mysqlclient


2. DB설정
    1) settings.py 를 편집한다
        - gedit settings.py    
        
    
    2) DATABASES 섹션을 편집한다
       - ENGINE 에는 mysql의 엔진을 입력
        - NAME 에는 접속할 DB를 입력
        - USER에는 해당 DB에 접속 권한을 가진 계정을 입력
        - PASSWORD에는 해당 USER의 암호를 입력
        - HOST에는 DB서버의 IP를 입력
        - PORT에는 DB가 실행되고 있는 포트를 입력
        

    3) 설정정보를 저장한다
        - python3.6 manage.py migrate                

    4) 아래 그림과 같은 오류가 나타난다
        - root 계정으로는 로컬에서만 접속가능하기 때문에 나타나는 오류이다   


3. 원격 접속을 위한 사용자 생성   
1. 계정 생성
    - create user '계정이름'@'%' identified by '암호';

2. 권한 부여
    - grant all privileges on 'db이름'.* to '계정이름'@'%';
     

3. 권한 확인
    - show grants for '계정이름'@'%';

4. 권한 설정 적용
    - flush privileges;

5. 계정 접속 확인
    - mysql -u django -p
    - 암호 입력

4. django에서 DB설정 수정
    - gedit settings.py를 통해 다시 DATABASES섹션의 USER를 위에서 만든 계정으로 변경한다
    

5. 확인
    - python3.6 manage.py migrate