로그인 페이지 입력 값 테스틀 위해서 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 |