🧩 BE

DB 접속 가이드라인

Assigned To
Date
2026/02/09
Status
Done
Type
Document
DB
Table of contents

AWS RDS 엔드포인트

donga-dashboard-db.cb8ew04205xm.ap-northeast-2.rds.amazonaws.com

Tunneling

RDS 보안을 위한 보안그룹(rds-ec2-1, sg-090e782efb04b37bb) 인바운드 규칙으로 인해, ec2로 접속하는 터널을 먼저 열어주어야 합니다.
donga_kit_v2로 접속해서 로컬에서 3307 포트로 접속할 수 있게 포워딩 해줍니다.
3307 포트 사용 여부 확인
netstat -ano | findstr :3307
Shell
복사
사용 중인 포트가 있다면 kill
taskkill /F /PID <확인된PID>
Shell
복사
ssh 터널 열기
ssh -i { 로컬 환경 공개키 저장 위치 } -N -L 3307:{ RDS 엔드포인트 } ubuntu@{ EC2 public IP } -f
Shell
복사
ssh -i "C:\Users\사용자\.ssh\donga_kit_v2.pem" -N -L 3307:donga-dashboard-db.cb8ew04205xm.ap-northeast-2.rds.amazonaws.com:3306 ubuntu@43.203.179.87
Shell
복사
명령어 예시

DB Connect

이후 로컬에서 3307 포트로 MySQL DB 접속 명령어를 입력합니다. 이후 password 입력
mysql -h 127.0.0.1 -P 3307 -u root -p
Shell
복사
SHOW DATABASES; USE donga_dashboard_db;
SQL
복사
들어가서 쿼리 작성하면 됩니다.

전체 쿼리 활용 접속

위에서 터널링 이후 제공해주신 아래의 쿼리를 실행시켜도 됩니다.
mysql -h 127.0.0.1 -P 3307 -u root -p'1u56mNAQ4F4LSEGtAP1l' donga_dashboard_db --batch -e " SELECT donga.title as title, CONCAT(donga.dept, ' ', donga.reporter) as reporter_dept, donga.published_at as pub_date, donga.id as origin_id, naver.id as naver_id, daum.id as daum_id_num, donga.url as origin_link, donga.text_length as article_len, CASE WHEN donga.content_source LIKE '%온라인%' THEN 'only online' ELSE '' END as content_source, donga.view_count as donga_views, naver.view_count as naver_views, daum.view_count as daum_views, (COALESCE(donga.view_count, 0) + COALESCE(naver.view_count, 0) + COALESCE(daum.view_count, 0)) as entire_views FROM donga_article as donga LEFT JOIN naver_article as naver on naver.donga_id = donga.id LEFT JOIN daum_article as daum on donga.id = daum.donga_id WHERE donga.published_at >= '2025-12-01' and donga.published_at < '2026-01-01' ORDER BY donga.published_at; " | sed 's/\t/","/g;s/^/"/;s/$/"/' > december_2025_data.tsv
SQL
복사