๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ๋ฐ ๊ด๋ฆฌ
์ปฌ๋ ์
์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ
๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ
์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์.
์ด ํ์ด์ง์๋ Cloud SQL ์ธ์คํด์ค์์ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑ, ๋์ด, ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๊ฐ ๋์ ์์ต๋๋ค.
์๋ก ์์ฑ๋ ์ธ์คํด์ค๋ 4๊ฐ์ ์์คํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ง๋๋ค.
information_schema
: MySQL ์๋ฒ์ ๋ํ ์ ๋ณด์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉํ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ์ ๊ณตํฉ๋๋ค.
mysql
: ์์คํ
์คํค๋ง์
๋๋ค. MySQL ์๋ฒ๋ฅผ ์คํํ ๋ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ํ
์ด๋ธ์ด ํฌํจ๋์ด ์์ต๋๋ค.
performance_schema
: ํ์ ์์ค์์ MySQL ์๋ฒ ์คํ์ ๋ชจ๋ํฐ๋งํ๋ ๊ธฐ๋ฅ์
๋๋ค.
sys
: DBA์ ๊ฐ๋ฐ์๊ฐ ์ฑ๋ฅ ์คํค๋ง์์ ์์งํ ๋ฐ์ดํฐ๋ฅผ ํด์ํ๋ ๋ฐ ๋์์ด ๋๋ ๊ฐ์ฒด ์งํฉ์ ํฌํจํฉ๋๋ค.
MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์์ธํ ๋ด์ฉ์
MySQL ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์์ํ๊ธฐ ์ ์
์ด ํ์ด์ง์ ์์
์ ์๋ฃํ๊ธฐ ์ ์ ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
mysql ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ๊ด๋ฆฌํ ๊ณํ์ด๋ฉด ๋ค์์ ์ํํด์ผ ํฉ๋๋ค.
mysql
ํด๋ผ์ด์ธํธ์์ ์ธ์คํด์ค์ ๋ํ ์ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ๊ณ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
์ฐ๊ฒฐ ์ต์
์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ธ๋ถ ์ ํ๋ฆฌ์ผ์ด์
์ฐ๊ฒฐ ์ต์
์ ์ฐธ์กฐํ์ธ์.
Cloud SQL ์ธ์คํด์ค์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ
์ฝ์
-
Google Cloud ์ฝ์์์ Cloud SQL ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Cloud SQL ์ธ์คํด์ค๋ก ์ด๋
-
์ธ์คํด์ค์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ด๋ ค๋ฉด ์ธ์คํด์ค ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
- SQL ํ์ ๋ฉ๋ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ ๋ํ์์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ์ ์ง์ ํ๊ณ , ์ํ๋ ๊ฒฝ์ฐ ๋ฌธ์ ์งํฉ ๋ฐ ์ฝ๋ ์ด์
๋ ์ง์ ํฉ๋๋ค.
๋ฌธ์ ์งํฉ๊ณผ ์ฝ๋ ์ด์
์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฌธ์ ์งํฉ, ์ฝ๋ ์ด์
, ์ ๋์ฝ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
- ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๋ ค๋ฉด Terraform ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ณ๊ฒฝ์ฌํญ ์ ์ฉ
ํ๋ก์ ํธ์ Terraform ๊ตฌ์ฑ์ ์ ์ฉํ๋ ค๋ฉด Google Cloud ๋ค์ ์น์
์ ๋จ๊ณ๋ฅผ ์๋ฃํ์ธ์.
Cloud Shell ์ค๋น
- Cloud Shell์ ์คํํฉ๋๋ค.
-
Terraform ๊ตฌ์ฑ์ ์ ์ฉํ ๊ธฐ๋ณธ Google Cloud ํ๋ก์ ํธ๋ฅผ ์ค์ ํฉ๋๋ค.
์ด ๋ช
๋ น์ด๋ ํ๋ก์ ํธ๋น ํ ๋ฒ๋ง ์คํํ๋ฉด ๋๋ฉฐ ์ด๋ค ๋๋ ํฐ๋ฆฌ์์๋ ์คํํ ์ ์์ต๋๋ค.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform ๊ตฌ์ฑ ํ์ผ์์ ๋ช
์์ ๊ฐ์ ์ค์ ํ๋ฉด ํ๊ฒฝ ๋ณ์๊ฐ ์ฌ์ ์๋ฉ๋๋ค.
๋๋ ํฐ๋ฆฌ ์ค๋น
๊ฐ Terraform ๊ตฌ์ฑ ํ์ผ์๋ ์์ฒด ๋๋ ํฐ๋ฆฌ(๋ฃจํธ ๋ชจ๋์ด๋ผ๊ณ ๋ ํจ)๊ฐ ์์ด์ผ ํฉ๋๋ค.
-
Cloud Shell์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ํด๋น ๋๋ ํฐ๋ฆฌ ๋ด์ ์ ํ์ผ์ ๋ง๋์ธ์. ํ์ผ ์ด๋ฆ์๋
.tf
ํ์ฅ์๊ฐ ์์ด์ผ ํฉ๋๋ค(์: main.tf
). ์ด ํํ ๋ฆฌ์ผ์์๋ ํ์ผ์ main.tf
๋ผ๊ณ ํฉ๋๋ค.
mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผ ํ๋ ๊ฒฝ์ฐ ๊ฐ ์น์
์ด๋ ๋จ๊ณ์์ ์ํ ์ฝ๋๋ฅผ ๋ณต์ฌํ ์ ์์ต๋๋ค.
์ํ ์ฝ๋๋ฅผ ์๋ก ๋ง๋ main.tf
์ ๋ณต์ฌํฉ๋๋ค.
ํ์ํ ๊ฒฝ์ฐ GitHub์์ ์ฝ๋๋ฅผ ๋ณต์ฌํฉ๋๋ค. ์ด๋ Terraform ์ค๋ํซ์ด ์๋ ํฌ ์๋ ์๋ฃจ์
์ ์ผ๋ถ์ธ ๊ฒฝ์ฐ์ ๊ถ์ฅ๋ฉ๋๋ค.
- ํ๊ฒฝ์ ์ ์ฉํ ์ํ ํ๋ผ๋ฏธํฐ๋ฅผ ๊ฒํ ํ๊ณ ์์ ํฉ๋๋ค.
- ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅํฉ๋๋ค.
-
Terraform์ ์ด๊ธฐํํฉ๋๋ค. ์ด ์์
์ ๋๋ ํฐ๋ฆฌ๋น ํ ๋ฒ๋ง ์ํํ๋ฉด ๋ฉ๋๋ค.
terraform init
์ํ๋ ๊ฒฝ์ฐ ์ต์ Google ๊ณต๊ธ์
์ฒด ๋ฒ์ ์ ์ฌ์ฉํ๋ ค๋ฉด -upgrade
์ต์
์ ํฌํจํฉ๋๋ค.
terraform init -upgrade
๋ณ๊ฒฝ์ฌํญ ์ ์ฉ
-
๊ตฌ์ฑ์ ๊ฒํ ํ๊ณ Terraform์์ ๋ง๋ค๊ฑฐ๋ ์
๋ฐ์ดํธํ ๋ฆฌ์์ค๊ฐ ์์๊ณผ ์ผ์นํ๋์ง ํ์ธํฉ๋๋ค.
terraform plan
ํ์์ ๋ฐ๋ผ ๊ตฌ์ฑ์ ์์ ํฉ๋๋ค.
-
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ ํ๋กฌํํธ์
yes
๋ฅผ ์
๋ ฅํ์ฌ Terraform ๊ตฌ์ฑ์ ์ ์ฉํฉ๋๋ค.
terraform apply
Terraform์ '์ ์ฉ ์๋ฃ' ๋ฉ์์ง๊ฐ ํ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
- ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด Google Cloud ํ๋ก์ ํธ๋ฅผ ์ฝ๋๋ค. Google Cloud ์ฝ์์์ UI์ ๋ฆฌ์์ค๋ก ์ด๋ํ์ฌ Terraform์ด ๋ฆฌ์์ค๋ฅผ ๋ง๋ค์๊ฑฐ๋ ์
๋ฐ์ดํธํ๋์ง ํ์ธํฉ๋๋ค.
๋ณ๊ฒฝ์ฌํญ ์ญ์
๋ณ๊ฒฝ์ฌํญ์ ์ญ์ ํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
- Terraform ๊ตฌ์ฑ ํ์ผ์์ ์ญ์ ๋ณดํธ๋ฅผ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด
deletion_protection
์ธ์๋ฅผ false
๋ก ์ค์ ํฉ๋๋ค.
deletion_protection = "false"
- ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ ํ๋กฌํํธ์
yes
๋ฅผ ์
๋ ฅํ์ฌ ์
๋ฐ์ดํธ๋ Terraform ๊ตฌ์ฑ์ ์ ์ฉํฉ๋๋ค.
terraform apply
-
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ๊ณ ํ๋กฌํํธ์ yes
๋ฅผ ์
๋ ฅํ์ฌ ์ด์ ์ Terraform ๊ตฌ์ฑ์ ์ ์ฉ๋ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
terraform destroy
REST v1
๋ค์ ์์ฒญ์ databases:insert ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์ธ์คํด์ค์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- project-id: ํ๋ก์ ํธ ID
- instance-id: ์ธ์คํด์ค ID
- database-name: Cloud SQL ์ธ์คํด์ค ๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
JSON ์์ฒญ ๋ณธ๋ฌธ:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
cURL(Linux, macOS, Cloud Shell)
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases"
PowerShell(Windows)
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
์๋ต
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
REST v1beta4
๋ค์ ์์ฒญ์ databases:insert ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์ธ์คํด์ค์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- project-id: ํ๋ก์ ํธ ID
- instance-id: ์ธ์คํด์ค ID
- database-name: Cloud SQL ์ธ์คํด์ค ๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ
HTTP ๋ฉ์๋ ๋ฐ URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
JSON ์์ฒญ ๋ณธ๋ฌธ:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
cURL(Linux, macOS, Cloud Shell)
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases"
PowerShell(Windows)
์์ฒญ ๋ณธ๋ฌธ์ request.json
ํ์ผ์ ์ ์ฅํ๊ณ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
์๋ต
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "CREATE_DATABASE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
mysql ํด๋ผ์ด์ธํธ
๊ด๋ จ ์ ๋ณด๋ MySQL ๋ฌธ์์ CREATE DATABASE๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฌธ์ ์งํฉ๊ณผ ์ฝ๋ ์ด์
์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฌธ์ ์งํฉ, ์ฝ๋ ์ด์
, ์ ๋์ฝ๋๋ฅผ ์ฐธ์กฐํ์ธ์.
CREATE DATABASE database_name
[[CHARACTER SET charset_name][COLLATE collation_name]];
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์ด
์ธ์คํด์ค์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ดํ๋ ๋ฐฉ๋ฒ
์ฝ์
-
Google Cloud ์ฝ์์์ Cloud SQL ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Cloud SQL ์ธ์คํด์ค๋ก ์ด๋
-
์ธ์คํด์ค์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ด๋ ค๋ฉด ์ธ์คํด์ค ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
- ์ผ์ชฝ ์ฌ์ด๋ ๋ฉ๋ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํด๋ฆญํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ด์ง์๋ ์ฝ๋ ์ด์
์ ํ, ๋ฌธ์ ์งํฉ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ๊ณผ ํจ๊ป ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋์ด๋ฉ๋๋ค.
REST v1
๋ค์ ์์ฒญ์ databases:list ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ดํฉ๋๋ค.
API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ดํ๋ฉด ์ฝ์์ ํ์๋์ง ์๋ ์ถ๊ฐ ํ
ํ๋ฆฟ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์คํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ์๋ฉ๋๋ค. ์์คํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- project-id: ํ๋ก์ ํธ ID
- instance-id: ์ธ์คํด์ค ID
HTTP ๋ฉ์๋ ๋ฐ URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
cURL(Linux, macOS, Cloud Shell)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases"
PowerShell(Windows)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
์๋ต
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag",
"name": "sys",
"instance": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/sys",
"project": "project-id"
}
REST v1beta4
๋ค์ ์์ฒญ์ databases:list ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ดํฉ๋๋ค.
API๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ดํ๋ฉด ์ฝ์์ ํ์๋์ง ์๋ ์ถ๊ฐ ํ
ํ๋ฆฟ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์คํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ํ์๋ฉ๋๋ค. ์์คํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- project-id: ํ๋ก์ ํธ ID
- instance-id: ์ธ์คํด์ค ID
HTTP ๋ฉ์๋ ๋ฐ URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
cURL(Linux, macOS, Cloud Shell)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases"
PowerShell(Windows)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
์๋ต
{
"kind": "sql#database",
"charset": "utf8",
"collation": "utf8_general_ci",
"etag": "etag",
"name": "sys",
"instance": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/sys",
"project": "project-id"
}
mysql ํด๋ผ์ด์ธํธ
๊ด๋ จ ์ ๋ณด๋ MySQL ๋ฌธ์์ SHOW DATABASES๋ฅผ ์ฐธ์กฐํ์ธ์.
SHOW DATABASES;
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์
Cloud SQL ์ธ์คํด์ค์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ
์ฝ์
-
Google Cloud ์ฝ์์์ Cloud SQL ์ธ์คํด์ค ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
Cloud SQL ์ธ์คํด์ค๋ก ์ด๋
-
์ธ์คํด์ค์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ด๋ ค๋ฉด ์ธ์คํด์ค ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
- ์ผ์ชฝ ์ฌ์ด๋ ๋ฉ๋ด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉ๋ก์์ ์ญ์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฐพ๊ณ ํด์งํต ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ๋ํ์์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ์ ์
๋ ฅํ ํ ์ญ์ ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
์ฐธ์กฐ ์ ๋ณด๋ gcloud
sql databases delete
๋ฅผ ํ์ธํ์ธ์.
gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME
REST v1
๋ค์ ์์ฒญ์ databases:delete ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- project-id: ํ๋ก์ ํธ ID
- instance-id: ์ธ์คํด์ค ID
- database-name: Cloud SQL ์ธ์คํด์ค ๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ
HTTP ๋ฉ์๋ ๋ฐ URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
cURL(Linux, macOS, Cloud Shell)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name"
PowerShell(Windows)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
์๋ต
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
REST v1beta4
๋ค์ ์์ฒญ์ databases:delete ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํฉ๋๋ค.
์์ฒญ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ์ ๋ค์์ ๋ฐ๊ฟ๋๋ค.
- project-id: ํ๋ก์ ํธ ID
- instance-id: ์ธ์คํด์ค ID
- database-name: Cloud SQL ์ธ์คํด์ค ๋ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฆ
HTTP ๋ฉ์๋ ๋ฐ URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
์์ฒญ์ ๋ณด๋ด๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ํผ์นฉ๋๋ค.
cURL(Linux, macOS, Cloud Shell)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name"
PowerShell(Windows)
๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name" | Select-Object -Expand Content
๋ค์๊ณผ ๋น์ทํ JSON ์๋ต์ด ํ์๋ฉ๋๋ค.
์๋ต
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_DATABASE",
"name": "operation-id",
"targetId": "instance-id",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
"targetProject": "project-id"
}
mysql ํด๋ผ์ด์ธํธ
๊ด๋ จ ์ ๋ณด๋ MySQL ๋ฌธ์์ DROP DATABASE๋ฅผ ์ฐธ์กฐํ์ธ์.
DROP DATABASE [database_name];
๋ค์ ๋จ๊ณ
์ง์ ์ฌ์ฉํด ๋ณด๊ธฐ
Google Cloud๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ณ์ ์ ๋ง๋ค์ด ์ค์ ์๋๋ฆฌ์ค์์ Cloud SQL์ด ์ํ๋๋ ๋ฐฉ์์ ํ๊ฐํ ์ ์์ต๋๋ค. ์ ๊ท ๊ณ ๊ฐ์๊ฒ๋ ์ํฌ๋ก๋๋ฅผ ์คํ, ํ
์คํธ, ๋ฐฐํฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ $300์ ๋ฌด๋ฃ ํฌ๋ ๋ง์ด ์ ๊ณต๋ฉ๋๋ค.
Cloud SQL ๋ฌด๋ฃ๋ก ์ฌ์ฉํด ๋ณด๊ธฐ
๋ฌ๋ฆฌ ๋ช
์๋์ง ์๋ ํ ์ด ํ์ด์ง์ ์ฝํ
์ธ ์๋ Creative Commons Attribution 4.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋๋ฉฐ, ์ฝ๋ ์ํ์๋ Apache 2.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ผ์ด์ ์ค๊ฐ ๋ถ์ฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Google Developers ์ฌ์ดํธ ์ ์ฑ
์ ์ฐธ์กฐํ์ธ์. ์๋ฐ๋ Oracle ๋ฐ/๋๋ Oracle ๊ณ์ด์ฌ์ ๋ฑ๋ก ์ํ์
๋๋ค.
์ต์ข
์
๋ฐ์ดํธ: 2025-08-13(UTC)
[[["์ดํดํ๊ธฐ ์ฌ์","easyToUnderstand","thumb-up"],["๋ฌธ์ ๊ฐ ํด๊ฒฐ๋จ","solvedMyProblem","thumb-up"],["๊ธฐํ","otherUp","thumb-up"]],[["์ดํดํ๊ธฐ ์ด๋ ค์","hardToUnderstand","thumb-down"],["์๋ชป๋ ์ ๋ณด ๋๋ ์ํ ์ฝ๋","incorrectInformationOrSampleCode","thumb-down"],["ํ์ํ ์ ๋ณด/์ํ์ด ์์","missingTheInformationSamplesINeed","thumb-down"],["๋ฒ์ญ ๋ฌธ์ ","translationIssue","thumb-down"],["๊ธฐํ","otherDown","thumb-down"]],["์ต์ข
์
๋ฐ์ดํธ: 2025-08-13(UTC)"],[],[],null,[]]