MySQL 클라이언트를 사용하여 연결

MySQL 명령줄 클라이언트를 사용하여 Cloud SQL에 연결할 수 있습니다. 이 페이지에서는 클라이언트 머신에서 로컬로 실행되고 있거나 Compute Engine VM 또는 Cloud Shell에서 실행되고 있는 mysql 클라이언트를 Cloud SQL 인스턴스에 연결하는 방법을 설명합니다.

시작하기 전에

mysql 클라이언트를 사용하여 Cloud SQL 인스턴스에 연결하려면 먼저 다음을 수행하세요.

로컬 머신 또는 Compute Engine VM에서 MySQL 클라이언트 사용

mysql 클라이언트를 사용하여 Cloud SQL 인스턴스에 연결하려면 다음 3가지 상위 작업을 수행해야 합니다.

  1. 클라이언트를 설치합니다.
  2. Cloud SQL 인스턴스에 대한 액세스를 구성합니다.
  3. Cloud SQL 인스턴스에 연결합니다.

클라이언트 설치

mysql 클라이언트를 설치하려면 다음을 수행합니다.

  1. MySQL Community Server 다운로드 페이지에서 플랫폼에 맞는 MySQL Community Server를 다운로드합니다.
    Community Server에 MySQL 클라이언트가 포함되어 있습니다.
  2. 다운로드 페이지의 지시에 따라 Community Server를 설치합니다.

MySQL을 설치하는 방법에 대한 자세한 내용은 MySQL 설치 및 업그레이드를 참조하세요.

Cloud SQL 인스턴스에 대한 액세스 구성

인스턴스에 대한 액세스를 구성하려면 다음 안내를 따르세요.

  1. 클라이언트 머신 또는 Compute Engine VM 인스턴스에서 내 IP는 무엇인가요?를 사용하여 클라이언트 머신의 IP 주소를 확인합니다.
  2. IP 주소를 복사합니다.
  3. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  4. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  5. SQL 탐색 메뉴에서 연결을 선택합니다.
  6. 네트워킹 탭을 선택합니다.
  7. 승인된 네트워크 섹션에서 네트워크 추가를 클릭하고 클라이언트가 설치된 머신의 IP 주소를 입력합니다.
  8. 완료를 클릭합니다. 그런 다음 페이지 하단에 있는 저장을 클릭하여 변경사항을 저장합니다.
  9. SSL/TLS를 사용하거나 암호화 없이(SSL/TLS를 사용하지 않음) 인스턴스에 연결합니다.

암호화 없이 Cloud SQL 인스턴스에 연결

암호화 없이 연결하려면 인스턴스에 SSL 모드ALLOW_UNENCRYPTED_AND_ENCRYPTED로 설정되어 있어야 합니다. Google Cloud 콘솔에서 이에 해당하는 구성은 암호화되지 않은 네트워크 트래픽 허용입니다.

인스턴스의 SSL/TLS 구성에 대한 자세한 내용은 SSL/TLS 인증서 구성을 참조하세요.

인스턴스에 연결하려면 다음을 수행하세요.

  1. 클라이언트를 설치했으며 인스턴스에 대한 액세스를 구성했는지 확인합니다.
  2. mysql 클라이언트를 시작합니다.
    mysql --ssl-mode=DISABLED --host=INSTANCE_IP_ADDRESS --user=root --password
    
  3. 비밀번호를 입력합니다.
  4. mysql 프롬프트가 표시됩니다.

SSL/TLS를 사용하여 Cloud SQL 인스턴스에 연결

SSL/TLS 및 기본 제공 인증을 사용하여 인스턴스에 연결하려면 다음 안내를 따르세요.

시작하기 전에 클라이언트를 설치했고 인스턴스에 대한 액세스를 구성했는지 확인하세요.

  1. mysql 클라이언트를 시작합니다.
    mysql --ssl-mode=REQUIRED \
       --host=INSTANCE_IP_ADDRESS \
       --user=root --password
    
  2. 비밀번호를 입력합니다.
  3. MySQL 프롬프트가 나타나면 \s 명령어를 입력하여SSL/TLS를 통해 연결되어 있는지 확인합니다.
  4. SSL:이 있는 출력 줄을 찾습니다.
    ...
    SSL:                     Cipher in use is DHE-RSA-AES256-SHA
    ...
    

    연결 문제 해결에 대한 자세한 내용은 연결 문제 디버그를 참조하세요.

SSL/TLS 및 클라이언트 인증서 확인을 사용하여 Cloud SQL 인스턴스에 연결

Cloud SQL 인스턴스의 ssl_modeTRUSTED_CLIENT_CERTIFICATE_REQUIRED로 구성된 경우 로그인할 때 확인된 클라이언트 ID도 제공해야 합니다.

클라이언트가 확인된 SSL/TLS 인증서를 사용하여 연결하려면 다음이 필요합니다.

  • client-cert.pem 파일의 클라이언트 공개 키 인증서
  • client-key.pem 파일의 클라이언트 비공개 키

또한 클라이언트가 상호 인증을 위해 서버 ID를 확인할 수 있게 하려면 서버 인증서 server-ca.pem을 지정합니다.

예를 들어 mysql 클라이언트를 시작하려면 다음을 실행합니다.
    mysql --ssl-mode=VERIFY_CA \
      --ssl-ca=server-ca.pem \
      --ssl-cert=client-cert.pem \
      --ssl-key=client-key.pem \
      --host=INSTANCE_IP_ADDRESS \
      --user=root --password
   

클라이언트 인증서와 해당 비공개 키가 없으면 새 클라이언트 인증서를 생성합니다.

Cloud Shell에서 클라이언트 사용

Cloud SQL 인스턴스에 연결하려면 다음을 수행합니다(공개 IP만 해당).

  1. Google Cloud 콘솔로 이동합니다.

    Google Cloud 콘솔로 이동

  2. 툴바 오른쪽에 있는 Cloud Shell 아이콘()을 클릭합니다.

    Cloud Shell이 초기화되는 데 시간이 다소 걸립니다.

  3. Cloud Shell 프롬프트에서 기본 제공 클라이언트를 사용하여 Cloud SQL 인스턴스에 연결합니다.
    gcloud sql connect INSTANCE_ID \
    --user=root
    
  4. 비밀번호를 입력합니다.

gcloud sql connect 명령어는 비공개 IP 또는 SSL/TLS를 사용한 Cloud SQL 인스턴스 연결을 지원하지 않습니다. 암호화로 연결하려면 Cloud Shell에서 프록시를 설치하고 사용합니다.

  1. /home/USER 디렉터리에 프록시를 설치합니다(Linux 64비트).
  2. gcloud CLI 인증을 사용하여 프록시를 시작합니다.

    ./cloud-sql-proxy INSTANCE_CONNECTION_NAME &

  3. TCP 연결을 사용하여 데이터베이스에 연결합니다.

    mysql -u USERNAME -p --host=127.0.0.1

다음 단계

직접 사용해 보기

Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Cloud SQL이 수행되는 방식을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.

Cloud SQL 무료로 사용해 보기