• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

웹서버와 DB서버

20.12.09 11:22 작성 조회수 186

0

안녕하십니까 선생님, 플라스크 강의를 거의 다 듣고 토이프로젝트를 진행하려고 미진한 부분을 채워가고 있는 수강생입니다.

선생님께 배운 내용 중 DB서버에 대한 이해도가 낮다고 생각해서 이렇게 질문을 드립니다.

현재 유저 DB관련된 부분에 한정해서 대략적으로 이해하기로는(조금이라도 잘못됐다면 꼭 수정부탁드립니다)

* blog_abtest.py로 Flask 객체를 실행하면서 웹서버를 생성(+blueprint로 blog.py 라우팅도 되므로 같은 기능을 하는데 기능상 떨어져놓은 것)

* blog.py에서 라우팅별로 유저DB 생성 및 삭제를 할 때 user_mgmt.py의 User 클래스를 사용

* user_mgmt.py는 MySQL을 연결하는 mysql.py의 conn_mysqldb() 함수를 갖다씀

이 정도입니다. 확실히 알겠는 부분은 blog_abtest.py로 웹서버가 생성되는 건 잘 알겠는데 mysql.py에서 MySQL과 연동을 한다는 것 자체가 DB서버가 만들어진건지 아닌지 모르겠습니다..

외부에서도 웹서버로 접근이 가능하게 하려면 가르쳐주신 ngrok.exe나 ec2를 이용하면 되는건 이해가 갑니다. 그렇다면 외부에서도 접근가능한 DB서버를 구축하려면 어떤 방법이 필요한걸까요?

답변 1

답변을 작성해보세요.

1

안녕하세요.

어휴 대단하시네요. 정말 열심히 하시는 것 같아서... 끈기도 있으시고... 굉장하십니다.

말씀하신 부분은 크게 잘못된 부분은 없는 것 같은데요.

DB와 연동 부분이 뭔가 질문 자체가 살짝 정확히 무엇을 말씀하시는 것인지는 잘 모르겠어요.

아마도... 데이터베이스가 실행되고, 해당 데이터베이스에 접속하는 부분이 모호하게 이해가 되는 듯하기도 한데요.

다음과 같이 pymysql connect 를 통해, 데이터베이스 위치를 넣어서, 외부 데이터베이스에 접속할 수 있습니다.

import pymysql

host_name = '데이터베이스 서버 위치'

host_port = 3306

username = 'root'

password = 'funcoding'

database_name = 'student_mgmt'

db = pymysql.connect(

    host=host_name,     # MySQL Server Address

    port=host_port,          # MySQL Server Port

    user=username,      # MySQL username

    passwd=password,    # password for MySQL username

    db=database_name,   # Database name

    charset='utf8'

)

혹시 외부 서버에 데이터베이스 서버를 구축하는 기술에 대해 문의하시는 것이라면,

보통은 EC2 에 리눅스 서버 내에 데이터베이스 서버를 구축하거나, Amazon RDS 등을 사용합니다.

리눅스 서버 구축등등은 추후 Part4? 정도 강의에서 리눅스와 함께 차근차근 설명드릴 부분이기도 한데요.

우선 다음 블로그등을 참고하시면 좋을 것 같습니다. (관련 기본 기술을 아직 모르시면, 한참 우선 익혀야할 부분들이 많은 별도 기술 영역이긴 합니다.)

감사합니다.

http://blog.naver.com/PostView.nhn?blogId=software705&logNo=221337666338&parentCategoryNo=&categoryNo=9&viewDate=&isShowPopularPosts=true&from=search