☁ Cloud SQL 환경 구축

조정훈·2024년 3월 22일

1. 인스턴스 만들기

  1. GCP접속 -> SQL 검색 -> 인스턴스 만들기

  2. 데이터베이스 엔진 : PostgreSQL 선택 (안정성위주의 작업을 원한다 = MySQL 고르면 됨, 하지만 기능적으로는 PostgreSQL이 더 낫다)

  3. 이름, 비밀번호 설정 후 버전 선택(PostgreSQL 14)

  4. 사전설정 : 개발
    리전 : 서울 (속도빠름)
    영역 : 단일 영역 (고가용성은 백업 데이터센터 존재, 지금은 필요없음)
    머신 : 공유코어 vCPU1개, 1.7GB (실습수준)
    저장용량 : SSD 10GB, 저장용량 자동증가 사용 설정
    연결 : 공개 IP (현업에서는 보안문제로 비공개 IP로 쓰겠지만 지금은 상관X)
    데이터보호 : 인스턴스 삭제보호설정 하는거 추천. 실수방지용

  5. 인스턴스 만들기 클릭. (5~10분 걸림)

  6. 연결 -> 네트워크 : 0.0.0.0/0



2.실습용 데이터베이스 설치

DBeaver설치 https://dbeaver.io/download/

1. 데이터베이스 연결 : 좌측 상단에 콘센트+ 모양 클릭 PostgreSQL 선택 후

좌측 하단 Test Connection 누르면 드라이버 설치하라고 뜰건데 설치한 후 완료 누르면 Connection attempt timed out 오류가 뜰 것이다.
이제 다시 CloudSQL 인스턴스에 들어가서 개요 - 수정 - 연결 - 승인된 네트워크 추가
-> 이름: ALL / 네트워크 : 0.0.0.0/0 (모든 연결을 허용하겠다는 뜻. 원래는 접속을 허용 할 ip주소들의 범위를 넣을 수 있다.) -> 저장
-> 서브넷 공부해보자!

다시 DBeaver 가서 완료 누르면 연결 성공.


2. 패키지 설치 및 실습

  1. 우분투 패키지 업데이트
    sudo apt update %% sudo apt upgrade
    명령어 입력( sudo(super user do) : 관리자 권한으로 실행 하겠다는 뜻)

  2. postgres 레포지토리 설정 세팅 및 패키지 업데이트
    https://ethanmick.com/how-to-install-and-setup-postgresql-14-on-ubuntu-20-04/
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

    sudo apt-get update
    명령어들 차례대로 복사 후 입력

    qsql
    pg_dump
    pg_restore
    입력 했는데 각각 에러문구가 뜨면 설치가 잘 된 것.

    psql -h {공개ip주소} -p 5432 -U postgres
    입력하면 비밀번호 입력 하라고 나오는데 입력하면 된다.
    -> 여기까지 했다면 postgre 접속 성공. 터미널창에 postgres=> 떠있으면 정상

    \d : 데이터 보는 명령어
    \l : 테이블 보는 명령어
    \? : 명령어 도움말
    \q : 창 나가기
    실습에 사용 할 dvd데이터 링크: https://www.postgresqltutorial.com/wp-content/uploads/2019/05/dvdrental.zip
    링크 복사 후 wget {링크}로 설치
    압축 풀기 위해 sudo apt install unzip
    압축 풀기 : unzip dvdrental.zip
    풀면 dvdrental.tar tar파일 생성됨. -> tar : 묶음파일(압축과 다름)

    DBeaver 가서 Databases 우클릭 - 새로운 데이터베이스 생성 -
    name : dvd / owner : postgres / Tablespace : Default 설정 후 생성.
    (tablespace는 물리적으로 저장 할 수 있는 스토리지를 따로 분리 해놓은 것. 너의 postgres계정으로는 admin공간을 못쓰니까 다른곳 써라 ->default)

    *pg_restore로 데이터베이스 복구
    pg_restore -h {ip주소} -p 5432 -U postgres -d dvd ./dvdrental.tar

    패스워드 입력 -> 아무 문구도 안뜨면 잘 된 것
    -d {name} : name 데이터베이스 만들겠다
    -U : 유저
    -p : 포트번호

    DBeaver에서 이번에 만든 dvd 데이터베이스의 tables 부분 새로고침 해서 잘 들어갔는지 확인해보자!

0개의 댓글