Cloud

gcp cloudsql 과 mysqlbench 연결하기

jinmc 2025. 1. 2. 15:48
반응형

SQL과 GCP cloudsql을 연결하는 방법에 대해서 포스팅을 하도록 하겠습니다. 그렇게 어렵지는 않지만, 생각보다 쉽지 않은 점이 있기 때문에, 정리를 해두려고 합니다. (chatgpt 활용!)

 

1. GCP Cloud SQL 인스턴스 준비하기

  1. Cloud SQL 인스턴스 생성
    • GCP 콘솔에서 Cloud SQL 페이지로 이동합니다.
    • “인스턴스 생성” 버튼을 클릭한 후, 데이터베이스 유형으로 “MySQL”을 선택합니다.
    • 인스턴스 이름, 비밀번호, 지역 등을 설정한 뒤 인스턴스를 생성합니다.
  2. 네트워크 설정 확인
    • 생성된 Cloud SQL 인스턴스의 “연결” 탭으로 이동합니다.
    • “공개 IP”를 활성화하고, 연결할 클라이언트의 IP 주소를 허용 목록(Authorized Networks)에 추가합니다.
      • 본인의 IP 주소를 확인하려면 What is My IP와 같은 서비스를 이용하세요.
  3. 사용자 및 데이터베이스 생성
    • Cloud Shell이나 GCP Console을 통해 MySQL CLI에 접속합니다.
    • 원하는 데이터베이스와 사용자를 생성합니다.

cloud shell을 이용해서 만들기

CREATE DATABASE my_database;
CREATE USER 'my_user'@'%' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'%';
FLUSH PRIVILEGES;

2. MySQL Workbench 설정하기

  1. MySQL Workbench 설치
  2. 새 연결 설정
    • MySQL Workbench를 실행하고, “+ New Connection” 버튼을 클릭합니다.
    • 다음과 같은 정보를 입력합니다:
      • Connection Name: 원하는 연결 이름 입력
      • Connection Method: Standard (TCP/IP)
      • Hostname: Cloud SQL의 공개 IP 주소 입력
      • Port: 3306 (기본 포트)
      • Username: Cloud SQL에서 생성한 사용자 이름 입력
  3. 연결 테스트
    • “Test Connection” 버튼을 눌러 연결 상태를 확인합니다.
    • 비밀번호를 입력하라는 창이 뜨면 Cloud SQL 사용자 비밀번호를 입력합니다.
    • 연결이 성공하면 설정을 저장하고 “OK”를 클릭합니다.

3. 연결 시 발생할 수 있는 문제 및 해결 방법

  1. 방화벽 문제
    • GCP에서 연결을 허용하지 않은 IP 주소는 접근할 수 없습니다. 허용 네트워크에 자신의 IP를 추가했는지 확인하세요.
  2. 공개 IP 비활성화
    • Cloud SQL 인스턴스에서 “공개 IP”를 활성화하지 않았다면 연결이 불가능합니다. 공개 IP를 활성화하세요.
  3. SSL 인증서 사용
    • 보안을 강화하려면 SSL 인증서를 사용해 연결할 수 있습니다. “연결” 탭에서 SSL 인증서를 다운로드하고, MySQL Workbench의 SSL 옵션에 추가합니다.
  4. Cloud SQL의 시간이 오래 걸리는 문제
    • GCP Cloud SQL은 기본적으로 지역 내에서 최적화되지만, 네트워크 지연이나 지역 간 연결 시 시간이 오래 걸릴 수 있습니다. 가까운 지역에 인스턴스를 생성하거나 프록시를 사용할 수 있습니다.

4. Check from mysqlworkbench

show databases; # database들 보기
use my_db; # my_db가 있을 경우
show tables; # table 보기
select * from my_table;

 

 

반응형