Google heartbeat mysql 실행 방법

Fabio Cavassini

unread,

May 18, 2018, 3:27:33 AM5/18/18

to Google Cloud SQL discuss

Hi,

I've found an error in my MySQL ( MySQL 2nd Gen 5.7 ondb-n1-standard-1 ) error log and a pattern, this "Aborted connection" error always appears before this insert: "INSERT INTO mysql.heartbeat(id, master_time)..."

A  2018-05-17T18:43:29.415379Z	638401 Query	INSERT INTO mysql.heartbeat(id, master_time) 
E  2018-05-17T18:43:29.191513Z 638442 [Note] Aborted connection 638442 to db: 'xxxxxxxxx' user: 'root' host: 'cloudsqlproxy~74.125.182.17' (Got an error reading communication packets) 

A  2018-05-17T18:43:19.358269Z	638401 Query	INSERT INTO mysql.heartbeat(id, master_time) 
E  2018-05-17T18:43:19.308447Z 638440 [Note] Aborted connection 638440 to db: 'xxxxxxxxx' user: 'root' host: 'cloudsqlproxy~173.194.90.33' (Got an error reading communication packets)


My database has high availability enabled, and for what I had seen, that insert corresponds to Percora Toolkit  / Monitor MySQL replication delay (https://www.percona.com/doc/percona-toolkit/LATEST/pt-heartbeat.html)

I think the connection that executes that insert is not properly being managed.

Thanks

Fabio

Fady (Google Cloud Platform)

unread,

May 19, 2018, 3:36:43 AM5/19/18

to Google Cloud SQL discuss

Hello Fabio,


The above message is triggered when an existing connection is terminated improperly, which may look erroneous but is actually perfectly normal. Aborted connections happen because of unclean closure of connection or networking problem between the server and the client, but not because of the server.

Fabio Cavassini

unread,

May 22, 2018, 5:07:04 AM5/22/18

to Google Cloud SQL discuss

Thanks Fady, we checked and we had some functions that were improperly destroying the connection, thank you!!!

GSP423

개요

Google API 탐색기는 다양한 Google API를 양방향으로 탐색하는 데 도움이 되는 도구입니다. API 탐색기로 할 수 있는 일은 다음과 같습니다.

  • 사용 가능한 API 및 버전을 빠르게 찾아봅니다.
  • 각 API에 대해 사용 가능한 메서드 및 지원하는 매개변수와 인라인 문서를 확인합니다.
  • 모든 메서드에 대한 요청을 수행하고 실시간으로 응답을 확인합니다.
  • 인증되고 승인된 API 호출을 만듭니다.
  • 모든 서비스, 메서드 및 최근 요청을 검색하여 원하는 것을 빠르게 찾습니다.

Cloud SQL은 클라우드에서 관계형 PostgreSQL과 MySQL 데이터베이스를 손쉽게 설정, 유지 및 관리할 수 있는 완전 관리형 데이터베이스 서비스입니다. Cloud SQL은 고성능, 확장성, 편의성을 제공합니다. Google Cloud Platform에서 호스팅되는 Cloud SQL은 어디서나 실행되는 애플리케이션용 데이터베이스 인프라를 제공합니다.

이 실습에서는 Cloud SQL 인스턴스를 빌드하고 인스턴스에 MySQL 데이터베이스를 연결해 봅니다. 샘플 CSV 파일을 만들고 Cloud Storage에 업로드한 후에는 테이블을 만들고 파일의 콘텐츠를 MySQL 데이터베이스로 가져오게 됩니다. 마지막으로, 데이터베이스 및 연결된 데이터를 삭제해 봅니다. Cloud SQL Admin API에서 API 탐색기 도구를 사용해 다양한 메서드를 호출해 보며 이러한 작업을 완료할 것입니다.

목표

이 실습에서는 API 탐색기 도구를 사용하여 다음을 수행합니다.

  • Cloud SQL 인스턴스를 빌드합니다.
  • MySQL SQL 데이터베이스를 구성하고 이를 Cloud SQL 인스턴스에 연결합니다.
  • Cloud Storage 버킷에서 CSV 데이터를 가져오고 이를 MySQL 데이터베이스 테이블에 업로드합니다.
  • MySQL 데이터베이스를 삭제합니다.

기본 요건

이 실습은 기초 레벨 실습입니다. API의 기본 기능 및 아키텍처를 잘 알고 있어야 합니다. Google Cloud Shell 및 명령줄 인터페이스 도구를 사용해 본 경험이 있는 것이 좋습니다.

API 탐색기 도구를 잘 알고 있는 것도 도움이 됩니다. 이 실습을 진행하기 전에 적어도 다음과 같은 실습을 완료하시기 바랍니다.

  • Google의 API 소개
  • API 탐색기: Qwik Start

Cloud SQL에 대해 잘 모르는 경우 MySQL용 Cloud SQL: Qwik Start 및 BigQuery 및 Cloud SQL용 SQL 소개 실습을 살펴본다면 이 실습의 콘텐츠에 대한 방향을 잡아줄 유용한 정보를 얻을 수 있습니다. 준비가 됐으면 아래로 스크롤하여 아래 단계에 따라 실습 환경을 설정합니다.

설정 및 요구사항

Qwiklabs 설정

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.

Qwiklabs 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

필요한 사항

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저(Chrome 브라우저 권장)
  • 실습을 끝까지 진행할 시간

참고: 이미 개인용 Google Cloud 계정이나 프로젝트가 있어도 이 실습에서는 사용하지 마세요.

참고: Chrome OS 기기를 사용하는 경우 시크릿 창을 열어 이 실습을 실행하세요.

Google Cloud Platform Console

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • Google 콘솔 열기 버튼
    • 남은 시간
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
  2. Google 콘솔 열기를 클릭합니다. 실습에서 리소스가 가동된 후 로그인 페이지가 표시된 다른 탭이 열립니다.

    팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 실습 세부정보 패널에서 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다. 다음을 클릭합니다.

  4. 실습 세부정보 패널에서 비밀번호를 복사하여 시작 대화상자에 붙여넣습니다. 다음을 클릭합니다.

    중요: 왼쪽 패널에 표시된 사용자 인증 정보를 사용해야 합니다. Google Cloud Skills Boost 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  5. 이후에 표시되는 페이지를 클릭하여 넘깁니다.

    • 이용약관에 동의합니다.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
    • 무료 평가판을 신청하지 않습니다.

잠시 후 Cloud 콘솔이 이 탭에서 열립니다.

참고: 왼쪽 상단에 있는 탐색 메뉴를 클릭하면 Google Cloud 제품 및 서비스 목록이 있는 메뉴를 볼 수 있습니다.

instances.insert를 사용하여 Cloud SQL 인스턴스 빌드하기

이제 API 탐색기에서 찾아볼 수 있는 메서드 중 하나로 Cloud SQL 인스턴스를 빌드할 것입니다.

Cloud SQL API 탐색기 도구에 액세스하려면 탐색 메뉴를 열고 API 및 서비스 > 라이브러리를 선택합니다.

검색창에 Cloud SQL을 입력하고 결과 목록에서 Cloud SQL Admin API를 선택합니다.

API가 사용 설정되어 있는지 확인하고, 사용 설정되지 않은 경우 사용 설정을 클릭합니다. 이제 API 사용 설정을 확인했으므로 이 링크를 엽니다. 그러면 Cloud SQL API용 Rest API 참조 페이지가 있는 탭이 새로 열립니다.

왼쪽의 API 및 참조 섹션에서 API 및 참조 > REST Reference v1beta4 API > 인스턴스 > 삽입으로 이동하여 sql.instances.insert 메서드를 선택하거나 이 링크를 사용하여 SQL 인스턴스 리소스를 만듭니다.

이제 sql.instances.insert 메서드를 사용하기 위한 양식을 작성해 보겠습니다. 요청 본문에는 MySql 인스턴스를 만드는 데 사용하려는 리소스 속성이 포함됩니다.

project: = Qwiklabs GCP 프로젝트 ID

그런 다음 요청 본문 입력란의 중괄호 안에 있는 파란색 더하기 기호 아이콘을 클릭합니다. 속성을 선택하라는 메시지가 나타나면 "name"을 선택합니다. 그 옆에 이름을 my-instance로 지정합니다.

  • "name": "my-instance"

그러면 다음 레벨이 생성됩니다. 괄호 안을 클릭하고 파란색 더하기 기호 아이콘을 클릭한 후 "settings"를 선택합니다.

'settings' 안에서 중괄호 안을 클릭하고 파란색 더하기 기호 아이콘을 클릭한 후 'tier'를 선택한 다음, 그 옆에 'db-n1-standard-1'을 입력합니다.

  • settings:
    • tier: db-n1-standard-1

다음과 유사한 메서드가 표시됩니다.

Google heartbeat mysql 실행 방법

사용자 인증 정보 섹션 아래에서 Google OAuth 2.0 체크박스가 선택되어 있는지 확인합니다.

참고: 사용자 인증 정보 FAQ를 보려면 사용자 인증 정보 제목 옆의 물음표 아이콘을 클릭합니다.

모든 입력란의 내용 맨 끝에 공백이 없는지 확인합니다. 이제 아래로 스크롤하여 실행 버튼을 클릭합니다.

계정을 선택하라는 메시지가 표시되면 Qwiklabs Google 계정을 클릭합니다.

다음 화면에서 허용을 클릭하여 API 탐색기에 액세스 권한을 부여합니다.

양식에 입력한 내용을 기반으로 빌드된 코드로 프로젝트에 전송된 요청을 확인할 수 있습니다.

다음과 유사한 응답이 표시됩니다.

{
   "kind": "sql#operation",
   "targetLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/instances/my-instance",
   "status": "PENDING",
   "user": "",
   "insertTime": "2019-11-04T11:22:49.393Z",
   "operationType": "CREATE",
   "name": "563bc142-1adf-40f7-a9de-eefe3894ece2",
   "targetId": "my-instance",
   "selfLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/operations/563bc142-1adf-40f7-a9de-eefe3894ece2",
   "targetProject": "qwiklabs-gcp-a8af8f7d195267dd"
}

Google Cloud Platform 프로젝트를 위한 MySQL 인스턴스를 성공적으로 만들었습니다. 이제 GCP Console에서 확인해 보세요.

Cloud SQL 인스턴스 보기

이 단계를 수행하기 위해서는 GCP Console로 돌아갑니다.

왼쪽 메뉴에서 Storage 헤더 아래의 SQL을 선택하면 MySQL 인스턴스가 만들어지는 것을 볼 수 있는 인스턴스 페이지로 이동합니다.

인스턴스가 만들어지는 데 몇 분 정도 걸릴 수 있습니다. my-instance가 다음과 유사하다면 인스턴스가 만들어진 것입니다.

변경사항을 확인하려면 때때로 페이지를 새로 고쳐야 할 수 있습니다.

인스턴스가 만들어지고 다음 단계를 진행할 준비가 되면 API 탐색기 페이지로 돌아갑니다.

완료된 작업 테스트하기

진행 상황 확인하기를 클릭하여 실행한 작업을 확인합니다. 작업을 완료하면 평가 점수가 부여됩니다.

API 탐색기로 Cloud SQL 인스턴스 빌드하기

databases.insert로 데이터베이스 만들기

Cloud SQL 인스턴스를 만들었으므로 이제 databases.insert 메서드를 사용하여 인스턴스에 데이터베이스를 추가합니다.

왼쪽의 API 및 참조 섹션에서 API 및 참조 > REST Reference v1beta4 API > 데이터베이스 > 삽입으로 이동하여 sql.databases.insert 메서드를 선택하거나 이 링크를 사용하여 데이터베이스를 만듭니다.

이제 sql.databases.insert 메서드를 사용하기 위한 양식을 작성해 보겠습니다. 요청 본문에는 데이터베이스를 만드는 데 사용하려는 리소스 속성이 포함됩니다.

project: = Qwiklabs GCP 프로젝트 ID

instance: = my-instance.

그런 다음 요청 본문에서 다음을 수행합니다.

요청 본문 = 괄호 안을 클릭하여 다음과 같은 속성을 선택합니다.

  • instance: my-instance
  • name: mysql-db
  • project: Qwiklabs GCP 프로젝트 ID

다음과 유사한 메서드가 표시됩니다.

사용자 인증 정보 섹션 아래에서 Google OAuth 2.0 체크박스가 선택되어 있는지 확인합니다.

참고: 사용자 인증 정보 FAQ를 보려면 사용자 인증 정보 제목 옆의 물음표 아이콘을 클릭합니다.

모든 입력란의 내용 맨 끝에 공백이 없는지 확인합니다. 이제 아래로 스크롤하여 실행 버튼을 클릭합니다.

양식에 입력한 내용을 기반으로 빌드된 코드로 프로젝트에 전송된 요청을 확인할 수 있습니다.

다음과 유사한 응답이 표시됩니다.

200
- Show headers -
{
  "kind": "sql#operation",
  "targetLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/instances/my-instance/databases/mysql-db",
  "status": "DONE",
  "user": "",
  "insertTime": "2019-11-04T12:24:33.776Z",
  "startTime": "2019-11-04T12:24:33.786Z",
  "endTime": "2019-11-04T12:24:34.419Z",
  "operationType": "CREATE_DATABASE",
  "name": "dc0cb7f7-340c-4c9a-b9d8-3afc4e8680a0",
  "targetId": "my-instance",
  "selfLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/operations/dc0cb7f7-340c-4c9a-b9d8-3afc4e8680a0",
  "targetProject": "qwiklabs-gcp-a8af8f7d195267dd"
}

Cloud SQL 인스턴스 안에 데이터베이스를 성공적으로 만들었습니다. 이제 데이터베이스에 데이터를 추가할 준비가 되었습니다. 추가하기 전에 GCP Console에서 데이터베이스를 확인해 보세요.

새 데이터베이스 보기

이 단계를 수행하기 위해 GCP Console로 돌아갑니다.

탐색 메뉴에서 Storage 헤더 아래의 SQL을 선택하면 인스턴스 페이지로 이동합니다. my-instance를 클릭하고 databases 탭을 선택합니다.

그러면 mysql-db가 추가된 데이터베이스 목록이 표시됩니다.

위 스크린샷에 나오는 데이터베이스의 순서는 Console에 표시되는 것과 다를 수 있습니다. mysql-db가 목록에 있는지 확인합니다.

완료된 작업 테스트하기

진행 상황 확인하기를 클릭하여 실행한 작업을 확인합니다. 작업을 완료하면 평가 점수가 부여됩니다.

Cloud SQL 인스턴스에서 데이터베이스 만들기

MySQL 데이터베이스에 테이블을 만들고 Cloud Storage 버킷에 CSV 파일 업로드하기

이제 MySQL 데이터베이스에 테이블을 만들고 '쉼표로 구분된 값'(CSV) 형식으로 파일을 만들어 Cloud Storage에 업로드할 것입니다.

GCP Console에서 새 Cloud Shell 세션을 엽니다. 다음 명령어를 실행하여 MySQL 인스턴스에 연결합니다.

gcloud sql connect my-instance --user=root

인스턴스에 연결하는 데 1~2분 정도 걸릴 수 있습니다.

비밀번호를 설정하지 않았으므로 메시지에 따라 비밀번호를 입력합니다. 이제 인스턴스에 로그인되었을 것입니다.

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 494
Server version: 5.7.14-google-log (Google)
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]>

다음 명령어를 실행하여 mysql-db 데이터베이스로 전환합니다.

USE mysql-db;

이제 데이터를 특정 위치로 가져올 수 있도록 mysql-db 테이블을 만들 것입니다.

다음 명령어를 실행하여 info라는 이름의 테이블을 만듭니다.

CREATE TABLE info (name VARCHAR(255), age INT, occupation VARCHAR(255));

다음과 유사한 결과가 표시됩니다.

 Query OK, 0 rows affected (0.06 sec)

MySQL 데이터베이스에 빈 테이블을 만들었습니다. 이 Cloud Shell 세션에서 나가지 마세요.

상단 리본의 + 탭을 클릭하여 Cloud Shell에서 새 탭을 엽니다.

이제 CSV 파일을 만들고 Cloud Storage 버킷에 업로드합니다.

다음 명령어를 실행하여 employee_info.csv라는 이름의 파일을 만듭니다.

touch employee_info.csv

다음 명령어를 실행하여 employee_info.csv를 수정합니다.

nano employee_info.csv

다음 코드를 복사하여 파일에 붙여넣습니다.

"Sean", 23, "Content Creator"
"Emily", 34, "Cloud Engineer"
"Rocky", 40, "Event coordinator"
"Kate", 28, "Data Analyst"
"Juan", 51, "Program Manager"
"Jennifer", 32, "Web Developer"

CTRL+XYENTER를 눌러 파일을 저장합니다. 이제 Cloud Storage에 업로드할 간단한 CSV 파일이 만들어졌습니다.

다음 명령어를 실행하여 새 Cloud Storage 버킷을 만들고, <YOUR_BUCKET_NAME>을 Cloud Storage 이름 지정 가이드라인에 따라 고유한 버킷 이름으로 바꿉니다.

gsutil mb gs://<YOUR_BUCKET_NAME>

완료된 작업 테스트하기

진행 상황 확인하기를 클릭하여 실행한 작업을 확인합니다. 작업을 완료하면 평가 점수가 부여됩니다.

Cloud Storage 버킷 만들기

다음 명령어를 실행하여 CSV 파일을 Cloud Storage 버킷에 업로드하고 <YOUR_BUCKET_NAME>을 버킷의 이름으로 바꿉니다.

gsutil cp employee_info.csv gs://<YOUR_BUCKET_NAME>/

완료된 작업 테스트하기

진행 상황 확인하기를 클릭하여 실행한 작업을 확인합니다. 작업을 완료하면 평가 점수가 부여됩니다.

Cloud Storage 버킷에 CSV 파일 업로드하기

이 파일을 MySQL 데이터베이스에 업로드하려면 Cloud SQL 서비스 계정을 사용하여 특정 권한을 업데이트합니다.

탐색 메뉴에서 SQL을 선택하고 my-instance를 클릭합니다.

개요 페이지에서 아래로 스크롤하여 '서비스 계정' 카드를 찾고 서비스 계정 이름을 복사합니다.

이제 탐색 메뉴를 열고 스토리지 > 브라우저를 선택합니다.

버킷의 맨 오른쪽에 있는 점 3개로 된 메뉴를 클릭하고 버킷 권한 수정을 클릭합니다.

멤버 입력란에서 + 멤버 추가를 클릭합니다.

앞서 복사한 Cloud SQL 서비스 계정 이름을 새 멤버에 붙여넣습니다.

역할 드롭다운을 클릭하고 스토리지 > 스토리지 관리자를 선택합니다.

다음과 유사한 권한 사이드바가 표시됩니다.

저장을 클릭합니다. 이제 Cloud Storage 버킷이 Cloud SQL 인스턴스의 API 요청을 수락할 수 있습니다.

이제 CSV 파일을 Cloud SQL 데이터베이스에 복사합니다.

완료된 작업 테스트하기

진행 상황 확인하기를 클릭하여 실행한 작업을 확인합니다. 작업을 완료하면 평가 점수가 부여됩니다.

Cloud SQL 서비스 계정에 Storage 관리자 역할 추가하기

instances.import를 사용하여 데이터베이스에 CSV 파일 추가하기

왼쪽의 API 및 참조 섹션에서 API 및 참조 > REST Reference v1beta4 API > 인스턴스 > 가져오기로 이동하여 sql.instances.import 메서드를 선택하거나 이 링크를 사용하여 데이터를 데이터베이스에 가져옵니다.

이제 sql.instances.import 메서드를 사용하기 위한 양식을 작성해 보겠습니다. 요청 본문에는 데이터를 가져오는 데 사용하려는 리소스 속성이 포함됩니다.

project: = Qwiklabs GCP 프로젝트 ID

instance: = my-instance

요청 본문 = 괄호 안을 클릭하여 다음과 같은 속성을 선택합니다.

  • importContext:
    • database: mysql-db
    • uri: gs://<YOUR_BUCKET_NAME>/employee_info.csv(<YOUR_BUCKET_NAME>은 버킷 이름으로 변경)
    • fileType: csv
    • csvImportOptions:
      • table: info

이제 다음과 유사한 메서드가 표시됩니다.

사용자 인증 정보 섹션 아래에서 Google OAuth 2.0 체크박스가 선택되어 있는지 확인합니다.

참고: 사용자 인증 정보 FAQ를 보려면 사용자 인증 정보 제목 옆의 물음표 아이콘을 클릭합니다.

모든 입력란의 내용 맨 끝에 공백이 없는지 확인합니다. 이제 아래로 스크롤하여 실행 버튼을 클릭합니다.

양식에 입력한 내용을 기반으로 빌드된 코드로 프로젝트에 전송된 요청을 확인할 수 있습니다.

다음과 유사한 응답이 표시됩니다.

200
- Show headers -
{
  "kind": "sql#operation",
  "targetLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/instances/my-instance",
  "status": "PENDING",
  "user": "",
  "insertTime": "2019-11-04T13:50:07.537Z",
  "operationType": "IMPORT",
  "importContext": {
    "uri": "gs://qwiklabs-gcp-a8af8f7d195267dd/employee_info.csv",
    "database": "mysql-db",
    "kind": "sql#importContext",
    "fileType": "CSV",
    "csvImportOptions": {
      "table": "info"
    }
  },
  "name": "af3aaeb1-4f68-498c-bec5-d030201baf33",
  "targetId": "my-instance",
  "selfLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/operations/af3aaeb1-4f68-498c-bec5-d030201baf33",
  "targetProject": "qwiklabs-gcp-a8af8f7d195267dd"
}

API 탐색기를 사용하여 MySQL 데이터베이스 테이블에 CSV 파일을 추가했습니다. 이제 이 테이블을 검사할 차례입니다.

업데이트한 데이터베이스 검사하기

GCP Console에서 열어 두었던 MySQL Cloud Shell 탭으로 돌아갑니다. 이제 info 테이블에 CSV 파일 데이터가 추가되었는지 확인해 보겠습니다.

다음 명령어를 실행해 테이블의 내용을 확인합니다.

SELECT * FROM info;

다음과 유사한 결과가 표시됩니다.

+----------+------+----------------------+
| name     | age  | occupation           |
+----------+------+----------------------+
| Sean     |   23 |  "Content Creator"   |
| Emily    |   34 |  "Cloud Engineer"    |
| Rocky    |   40 |  "Event coordinator" |
| Kate     |   28 |  "Data Analyst"      |
| Juan     |   51 |  "Program Manager"   |
| Jennifer |   32 |  "Web Developer"     |
+----------+------+----------------------+
6 rows in set (0.04 sec)

탐색기 도구에서 하나의 API 호출로 Cloud Storage에 위치한 CSV 파일을 복사하고 MySQL 데이터베이스의 테이블과 병합할 수 있었습니다. 이는 GCP Console에서 여러 단계를 거쳐야 하는 것과 대조적으로 API 메서드 호출의 성능과 효율성을 잘 보여줍니다.

데이터베이스 삭제하기

이제 직원 정보를 호스트하는 MySQL 데이터베이스를 삭제해 보겠습니다.

왼쪽의 API 및 참조 섹션에서 API 및 참조 > REST Reference v1beta4 API > 데이터베이스 > 삭제로 이동하여 sql.databases.delete 메서드를 선택하거나 이 링크를 사용하여 데이터베이스를 삭제합니다.

이제 sql.databases.delete 메서드를 사용하기 위한 양식을 작성해 보겠습니다.

project: = Qwiklabs GCP 프로젝트 ID

instance: = my-instance

database: = mysql-db

다음과 유사한 메서드가 표시됩니다.

사용자 인증 정보 섹션 아래에서 Google OAuth 2.0 체크박스가 선택되어 있는지 확인합니다.

참고: 사용자 인증 정보 FAQ를 보려면 사용자 인증 정보 제목 옆의 물음표 아이콘을 클릭합니다.

모든 입력란의 내용 맨 끝에 공백이 없는지 확인합니다. 이제 아래로 스크롤하여 실행 버튼을 클릭합니다.

양식에 입력한 내용을 기반으로 빌드된 코드로 프로젝트에 전송된 요청을 확인할 수 있습니다.

다음과 유사한 응답이 표시됩니다.

200
- Show headers -
{
  "kind": "sql#operation",
  "targetLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/instances/my-instance",
  "status": "DONE",
  "user": "",
  "insertTime": "2019-11-04T14:17:09.072Z",
  "startTime": "2019-11-04T14:17:09.072Z",
  "endTime": "2019-11-04T14:17:10.319Z",
  "operationType": "DELETE_DATABASE",
  "name": "e8abc1b8-45b4-432c-82c0-436d38ca5879",
  "targetId": "my-instance",
  "selfLink": "https://content.googleapis.com/sql/v1beta4/projects/qwiklabs-gcp-a8af8f7d195267dd/operations/e8abc1b8-45b4-432c-82c0-436d38ca5879",
  "targetProject": "qwiklabs-gcp-a8af8f7d195267dd"
}

Cloud SQL 인스턴스 안에서 데이터베이스를 성공적으로 삭제했습니다. GCP Console로 돌아가 다음 단계를 진행합니다.

업데이트된 Cloud SQL 인스턴스 보기

GCP Console의 탐색 메뉴에서 Storage 헤더 아래의 SQL을 선택하면 인스턴스 페이지로 이동합니다.

my-instance를 클릭하고 databases 탭을 클릭합니다. mysql-db가 삭제된 데이터베이스 목록이 표시됩니다.

이로써 실습이 완료되었습니다. 실습을 여기에서 종료하거나 시간이 남으면 API 탐색기의 다른 Cloud SQL Admin API 메서드를 살펴보세요.

배운 내용 테스트하기

아래에는 이 실습에서 배운 내용을 복습하기 위한 객관식 테스트가 나와 있습니다. 최선을 다해 풀어보세요.

축하합니다

이 실습에서는 API 탐색기를 사용하여 Cloud SQL Admin API 메서드를 실습했습니다. Cloud SQL 인스턴스를 빌드한 후 MySQL 데이터베이스를 구성하고 연결했으며, 그런 다음 간단한 CSV 파일을 만들어 Cloud Storage에 업로드하고 MySQL 데이터베이스에 푸시했습니다. 마지막으로, Cloud SQL 인스턴스에서 데이터베이스를 삭제하는 방법을 배웠습니다. 이제 더 많은 API 탐색하기 실습을 수행할 준비가 되었습니다.

퀘스트 완료

이 사용자 주도형 실습은 Qwiklabs 퀘스트 API 탐색하기의 일부입니다. 퀘스트는 여러 실습을 하나의 교육 과정으로 구성한 것입니다. 이 퀘스트를 완료하면 위의 배지를 얻고 수료를 인증할 수 있습니다. 배지를 공개하고 온라인 이력서 또는 소셜 미디어 계정에 연결할 수 있습니다. 이 실습을 완료했다면 이 퀘스트에 등록하여 즉시 수료 크레딧을 받으세요. 다른 Qwiklabs 퀘스트도 확인해 보세요.

다음 단계/자세히 알아보기

API 탐색기와 관련된 더 많은 연습을 할 수 있는 다음 실습을 확인하세요.

  • API 탐색기: App Engine
  • API 탐색기: IoT

Google Cloud 교육 및 인증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2021년 3월 8일
실습 최종 테스트: 2021년 1월 8일

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.