사전작업
1. 리전 서울로 선택
2. 결제 대시보드 상시 확인
인스턴스 생성 과정
1. 인스턴스 시작
2. 설정
git bash에서 실행시 사전 작업
ssh ubuntu@DNS서버 -i ~/Downloads/pem키(aws치고 탭누르기 - pem키 경로 입력해주는 것임)
Xshell에서 실행시 사전 작업
1. 새로 만들기 (호스트 : DNS 서버 입력)
2. SSH 사용자 이름 : ubuntu
3. Public Key : 찾아보기 ➡ 파일 ➡ pem키 넣기
이후 과정
1. git bash, Xshell에서 사전 작업하기
2. 🔴 sudo su - (권한 변경)
3. oh my bash 설치 (command 테마)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
4. docker 다운 (참고 주소 :https://github.com/Kyeongrok/docker_minikube_kubectl_install)cd ~ (디렉토리 홈으로 변경) mkdir git cd git git clone https://github.com/Kyeongrok/docker_minikube_kubectl_install (깃허브에 있는 파일 클론) cd docker_minikube_kubect1_install (docker 설치파일이 있는 곳으로 디렉토리 변경) sh docker_install.sh (docker 설치)
- nginx 설치(데몬으로 띄우기 - 다른 명령을 내릴 수 있게 하기 위해)
docker run -p 80:80 -d nginx- docker ps (떠있는 container 목록 보기 - nginx 확인)
- MySQL 띄우기
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql- docker ps (목록에 mysql 있는지 확인)
비밀번호 변경 방법
1. git bash나 Xshell로 이동
2. docker ps (container 목록 확인)
3. docker stop containerID(mysql의)
4. 이후 변경한 비밀번호로 다시 띄우기
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql
5. docker ps로 확인
6. 워크벤치로 이동
7. 원하는 Connection 오른쪽 버튼 ➡ edit Connection -> password 변경
포트 예시
- MySQL : 3306
- Nginx(Web) : 80 (네이버 같은 경우에도 자동으로 :80이 붙음)
- Spring Boot : 8080
여는방법
1. aws의 해당 인스턴스의 보안 클릭
(3306포트가 없음 ➡ mysql이 연결안되는 이유
2. 보안그룹 클릭
3. 인바운드 규칙 편집
4. 규칙 추가
유형 : MYSQL/Aurora
소스 : 0.0.0.0/0
5. 규칙 저장
| 도서명 | 출판사 | 출판사 주소 |
|---|---|---|
| Do It! 자바 프로그래밍 입문 | 이지스퍼블리싱 | 서울시 강남구 |
| 모두의 깃 & 깃허브 | 길벗 | 서울시 서초구 |
| 토비의 스프링3 | 에이콘 | 서울시 은평구 |
| 파이썬으로 익히는 말랑말랑 알고리즘 | 비제이퍼블릭 | 경기도 수원시 |
| 코딩 개념 잡는 자바 코딩 문제집 | 길벗 | 서울시 서초구 |
해당 데이터에서 길벗의 주소가 바뀐다면 해당되는 출판사 주소를 모두 바꿔야 하는가?
(만약 대용량 데이터라면 데이터를 바꾸는 것이 비효율적일 것임)
테이블을 나누고 Key로 연결
Publisher Table
| ID | 출판사 | 출판사 주소 |
|---|---|---|
| 0 | 이지스퍼블리싱 | 서울시 강남구 |
| 1 | 길벗 | 서울시 서초구 |
| 2 | 에이콘 | 서울시 은평구 |
| 3 | 비제이퍼블릭 | 경기도 수원시 |
Book Table
| 도서명 | 출판사ID |
|---|---|
| Do It! 자바 프로그래밍 입문 | 0 |
| 모두의 깃 & 깃허브 | 1 |
| 토비의 스프링3 | 2 |
| 파이썬으로 익히는 말랑말랑 알고리즘 | 3 |
| 코딩 개념 잡는 자바 코딩 문제집 | 1 |
출판사 테이블의 ID를 도서 테이블의 도서에 해당하는 출판사ID에 넣어주기
DB 및 테이블 만들기
1. MySQL 워크벤치의 왼쪽 메뉴의 Schemas 클릭
2. Schemas 공백에 오른쪽 버튼 ➡ Create Schemas ➡ 제목 쓰고 Apply
3. 생성 후 쿼리에 use `DB이름`; (DB를 사용하겠다고 특정하기)
4. Create table ➡ 이름 입력 후 columnName 입력
테이블 수정
특정 Table 오른쪽 버튼 ➡ alter table
Foreign Key 설정
🔴 설계를 잘하면 외래키를 설정 (아니면 엉킬 수 있음)
1. 특정 Table 오른쪽 버튼 ➡ alter table ➡ foreign keys
2. 왼쪽에는 현재 테이블의 id입력 참조 테이블에서 publisher 테이블 선택(해당 테이블의 pk 열 선택)
🔴 이후 데이터 삽입 시 외래키 제약조건에 걸리면 삽입 불가 (ex. 없는 외래키 값을 넣으면 에러) ➡ 먼저 해당 외래키 값을 먼저 등록해줘야함
Primary Key 에러
이미 PK에 있는 값을 삽입한다면 에러
테이블 값 보기 및 넣기
SNS 테이블 설계
👀 SNS 테이블 설계 확인하기 👀
SNS DB 생성
twit Table

comment Table

circle Table

user Table
