GCP VM 설정 및 Maria DB설치, SQL 기본 문법
< GCP VM 설정 및 환경 설치 과정 >
1. GCP 가입 (구글 클라우드 플랫폼)
2. VM Set up (버추얼 머신 셋업)
- VM 인스턴스 생성
이름 규칙은 소문자, 숫자, - 만 사용가능
이름과 지역은 asia- seoul
O/S는 우분투 (20.04LTS)로 설치한다.
네트워킹 탭에서 HTTP 트래픽 허용 / HTTPS 트래픽 허용 클릭.
3. 서버 연결을 위한 SSH 키 생성(KeyGen)
- Putty gen을 이용 (window만 지원)
SSH Public키와 SSH Private키 받을 수 있음.
4. GCP에 SSH Key 등록
- GCP에는 SSH public 키를 등록한다. (복붙)
(경로 : Compute Engine > 메타데이터 > SSH키 > SSH키 추가)
5. Filezila 설정 (FTP 클라이언트 (FTP → 서버에 데이터를 올리는 방법))
- SFTP로 등록. 구글 클라우드의 VM주소 등록(외부IP)
- SSH private 키는 FTP 클라이언트(Filezila)에 키파일 올리기.
(경로 : 사이트 관리자 열기(왼쪽 위 맨 구석그림아이콘) > 구글 VM 인스턴스 화면에서 외부IP 복사해서 파일질라 '호스트'에 붙여넣기 > 로그온 유형 : 키파일로 해놓고 키파일 올리기)
☆ 사용자 이름을 키 이름 (키 값)으로 맞춰줘야 키 파일로 로그인이 된다!!!
6. GCP 에서 터미널 접속 (VM 인스턴스에서 SSH클릭)
- 터미널에서 "cd /"를 입력해 root 디렉토리로 이동한다. (cd = change directory)(cd 다음 띄어쓰기 주의!)
- 내용보기(파일 및 폴더) : ls
- 상세내용보기 : ls -li ( ls하고 한칸 띄우고 -li 이다!)
- 읽기(r),쓰기(w),실행(x) 권한 주기 : sudo chmod -R 777 (권한부여할폴더명)
< MariaDB 설치 및 접속 >
MariaDB 설치
sudo apt update (패키지의 경로를 업데이트 해주는 명령)
sudo apt install mariadb-server -y
MariaDB root 계정으로 접속
sudo mysql -u root
또는
mysql -u root -p (비밀번호 입력 필요)
기존 사용자계정 설정했을 경우
mysql -u user1 -p (비밀번호 입력 필요)
< 데이터베이스 명령어 >
데이터베이스 생성
CREATE DATABASE mydb;
데이터베이스 삭제 (삭제된 데이터는 복구 불가)
DROP DATABASE mydb;
사용자 계정 생성 및 비밀번호 설정
CREATE USER 'user1'@'localhost' IDENTIFIED BY '1234';
'user1'@'localhost' > 사용자
1234 > 비밀번호
사용자 삭제
DROP USER 'user1'@'localhost';
특정 데이터 베이스에 대한 모든 권한 부여
GRANT ALL PRIVILEGES ON mydb.* TO 'user1'@'localhost';
데이터베이스 선택
use mydb;
데이터베이스 보여주기
show databases;
< 헷갈리는 데이터 타입 정리 >
데이터 타입 | 데이터 종류 | 예시 |
VARCHAR(n) | 가변 길이 문자열 | 이름, 주소, 제목 등 |
CHAR(n) | 고정 길이 문자열 | 고정된 문자(예: o, x) |
INT | 정수 | 나이, id, 클릭 수 등 |
DECIMAL(n, m) | 소수점 숫자 | 가격, 비율 등 |
DATE | 날짜 | |
DATETIME | 날짜와 시간 | 이벤트 발생시간, 날짜 등 |
TIMESTAMP | 자동 날짜와 시간 | 레코드 생성 시간, 마지막 수정 시간 |
NOT NULL → 꼭 필요한 데이터면 써주기, 선택적 데이터는 냅두기
(추후 수정 및 내용추가 예정.)
6일차 회고
실습을 하는데 실수가 엄청나서 우당탕탕이었다..
대표적 실수 : 띄어쓰기, ;(세미콜론)안붙이기, 쉼표 및 쌍따옴표 누락, 컬럼명 대소문자 불일치, 데이터타입 잘못 입력 등..눈을 뚱그렇게 뜨고 봐도 왜 자꾸 누락을 시키는 걸까..애초에 숙달되어서 입력을 잘 혀야헌다...
숙달되지 않았다면 많이 만져보고 타이핑하는수밖에 없다..