25. 12. 16 (화) 일지 : 프로젝트(2)

2025. 12. 17. 08:47·AWS 광주 개발일지(25.08.19~25.01.20)/교육 25년 12월 일지

로그인 페이지 입력 값 테스틀 위해서 AWS에서 MySQL 생성

 

EC2와 MySQL 연결 작업

 

환경설정 

 

[ ubuntu ]

 

1. 패키지 업데이트

sudo apt update

 

2. MySQL 클라이언트 설치

sudo apt install mysql-client -y

 

3. 데이터 베이스 연결

mysql -h [RDS 엔드포인트] -P 3306 -u [마스터 사용자 이름] -p

 

조작 명령어

명령어 설명
SHOW DATABASES; 현재 RDS 인스턴스에 존재하는 모든 데이터베이스 목록을 보여줍니다.
USE [DB_NAME]; 테이블을 생성할 데이터베이스를 선택합니다.
SELECT DATABASE(); 현재 선택된 데이터베이스가 무엇인지 확인합니다.

 

데이터 베이스 생성 (기존에 있는 데이터베이스를 선택해서 작업해도 된다.)

CREATE DATABASE [데이터베이스 이름] CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

 

데이터 베이스 선택

USE [데이터베이스 이름];

 

기본적인 테이블 생성 방법

CREATE TABLE [테이블 이름] (
    [컬럼1 이름] [데이터 타입] [제약 조건],
    [컬럼2 이름] [데이터 타입] [제약 조건],
    ...
    PRIMARY KEY ([기본 키 컬럼])
);

 

User 테이블 생성 예시

-- 1. 사용할 데이터베이스 선택 (반드시 먼저 실행)
USE [데이터베이스 이름];

-- 2. Users 테이블 생성
CREATE TABLE Users (
    user_id INT NOT NULL AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL UNIQUE, -- 이름 (50자, 필수, 중복 불가)
    email VARCHAR(100) NOT NULL,        -- 이메일 (100자, 필수)
    is_active BOOLEAN DEFAULT TRUE,     -- 활성 상태 (기본값 TRUE)
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 생성 시간
    
    PRIMARY KEY (user_id) -- user_id를 기본 키로 설정
);

 

테스트를 위한 데이터 삽입 방법

INSERT INTO Users (username, email) 
VALUES ('testuser', 'test@example.com');

 

확인

SELECT * FROM Users;

 

삭제

DELETE FROM [테이블 이름]
WHERE [조건]; -- !!! WHERE 절을 생략하면 테이블의 모든 데이터가 삭제됩니다.

 

테이블 전체 삭제

DROP TABLE [테이블 이름];

 

실제 user table 예시 

CREATE TABLE UserTable (
    -- 기본 키 (Primary Key): 불변하며 자동으로 증가하는 고유 식별자
    primary_idx INT NOT NULL AUTO_INCREMENT, 

    -- 로그인 아이디: 필수, 중복 불가 (로그인 시 사용)
    user_id VARCHAR(50) NOT NULL UNIQUE, 
    
    -- 비밀번호: 보안을 위해 해시(Hash)된 문자열을 저장할 수 있도록 넉넉한 길이 (필수)
    password_hash VARCHAR(255) NOT NULL, 
    
    -- 이름 (실명): 필수
    name VARCHAR(50) NOT NULL,
    
    -- 휴대전화 번호: 필수, 고유값으로 설정 가능 (UNIQUE는 선택 사항)
    phone_number VARCHAR(20) NOT NULL, 
    
    -- 생년월일: 날짜 타입 사용 (YYYY-MM-DD 형식)
    birth_date DATE, 
    
    -- 주소: 문자열 타입으로 넉넉하게 설정
    address VARCHAR(255), 
    
    -- 이메일: 필수, 중복 불가 (UNIQUE는 필수 조건)
    email VARCHAR(100) NOT NULL UNIQUE, 
    
    -- 가입일: 레코드가 삽입될 때 자동으로 현재 시간이 기록되도록 설정
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 

    -- 최종적으로 primary_idx 기본 키로 지정
    PRIMARY KEY (primary_idx)
);

 

생성한 테이블 확인

SHOW TABLES;

 

테이블 요약

DESCRIBE Members;
-- 또는 약어 사용
DESC Members;

 

내 node.js 에서 DB 접속 방법

필요한 모듈

mysql2l : mysql 사용을 위함

bcrypt : 암호화를 위한 모듈

 

 

'AWS 광주 개발일지(25.08.19~25.01.20) > 교육 25년 12월 일지' 카테고리의 다른 글

25. 12. 18 (목) 일지 : 프로젝트(4)  (0) 2025.12.18
25. 12. 17 (수) 일지 : 프로젝트(3)  (0) 2025.12.17
25. 12. 15 (월) 일지 : 프로젝트(1)  (0) 2025.12.15
25. 12. 11 (목) 일지 : DB(2)  (0) 2025.12.11
25. 12. 10 (수) 일지 : DB(1)  (0) 2025.12.10
'AWS 광주 개발일지(25.08.19~25.01.20)/교육 25년 12월 일지' 카테고리의 다른 글
  • 25. 12. 18 (목) 일지 : 프로젝트(4)
  • 25. 12. 17 (수) 일지 : 프로젝트(3)
  • 25. 12. 15 (월) 일지 : 프로젝트(1)
  • 25. 12. 11 (목) 일지 : DB(2)
dev_user
dev_user
csjang94-dev 님의 블로그 입니다.
  • dev_user
    devJang
    dev_user
    • Category (127)
      • Linux (2)
      • FrontEnd (11)
        • HTML (1)
        • CSS (5)
        • JavaScript (4)
        • React (1)
      • BackEnd (4)
        • node.js (7)
        • Vue.js (1)
      • DB (13)
      • Python (3)
      • GitHub (1)
      • AWS (18)
      • ErrorCode (2)
      • AWS 광주 개발일지(25.08.19~25.01... (55)
        • 교육 25년 8월 일지 (7)
        • 교육 25년 9월 일지 (22)
        • 교육 25년 10월 일지 (2)
        • 교육 25년 11월 일지 (4)
        • 교육 25년 12월 일지 (19)
      • Projects (3)
        • 미니프로젝트(25.08.29) (0)
        • Git Page -> Portfolio제작 (2.. (1)
      • 개념 정리 (1)
      • 유용한 서비스 (3)
  • 인기 글

  • 링크

    • GitHub
    • Portfolio
    • YouTube
    • 개발자 로드맵 사이트
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.4
dev_user
25. 12. 16 (화) 일지 : 프로젝트(2)
상단으로

티스토리툴바