post-custom-banner

โœ๐Ÿป 25์ผ ๊ณต๋ถ€ ์ด์•ผ๊ธฐ.



AWS RDS(Amazon Relational Database Service)

: AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋น„์Šค

๐Ÿ“Œ ํด๋ผ์šฐ๋“œ ์ƒ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•ด๋ณด์ž!


ํšŒ์›๊ฐ€์ž…

RDS ์ƒ์„ฑ



[์„œ๋น„์Šค] - [๋ชจ๋“ ์„œ๋น„์Šค] - [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] - [RDS] - [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ] ํด๋ฆญ

๋งˆ์Šคํ„ฐ ๊ณ„์ •์œผ๋กœ ์ฒ˜์Œ์— ์ ‘๊ทผํ•˜๊ฒŒ ๋ ํ…๋ฐ
์ด๋•Œ, ๋งˆ์Šคํ„ฐ ์•”ํ˜ธ๋Š” MySQL ์„ค์น˜์‹œ ๋ฃจํŠธ ๊ณ„์ • ์•”ํ˜ธ์ฒ˜๋Ÿผ ์žŠ์–ด๋ฒ„๋ฆฌ๋ฉด ์•ˆ๋œ๋‹ค!!(๋‚˜๋Š” AWS ๊ฐ€์ž… ์•”ํ˜ธ์™€ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•ด๋”ฐ)

๊ฐœ์ธ์˜ ๊ธฐํ˜ธ์— ๋งž๊ฒŒ ์„ค์ •์„ ํ•ด์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ์„ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด (์•„์ง๊นŒ์ง€๋Š” ์™ธ๋ถ€์˜ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•œ) database-1๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.


๐Ÿ“Œ ์™ธ๋ถ€ ์ ‘์†์„ ์„ค์ •ํ•ด๋ณด์ž

[database-1] ํด๋ฆญ - [์—ฐ๊ฒฐ & ๋ณด์•ˆ] - [VPC ๋ณด์•ˆ ๊ทธ๋ฃน] - (๋””ํดํŠธ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ!) [๋ณด์•ˆ ๊ทธ๋ฃน ID] ํด๋ฆญ

[์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘] ํด๋ฆญ

[๊ทœ์น™ ์ถ”๊ฐ€] - [MySQL/Aurora] - [Anywhere-IPv4] - [๊ทœ์น™ ์ €์žฅ]

์ด์ œ ์–ด๋””์—์„œ๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ database-1๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค!



RDS ์ ‘์†


๋‚˜์ค‘์— ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ˜ธ์ŠคํŠธ์˜ ์ด๋ฆ„์œผ๋กœ, ํฌํŠธ๋Š” ํ˜ธ์ŠคํŠธ์˜ ํฌํŠธ๋กœ ์“ธ ๊ฒƒ์ด๋ฏ€๋กœ ๋ณต์‚ฌ ๋ถ™์—ฌ๋†“๊ธฐ ํ•ด๋‘˜ ๊ฒƒ๐Ÿฅฐ

์—”๋“œํฌ์ธํŠธ
database-1.cohcgh9bucnv.ap-southeast-2.rds.amazonaws.com
ํฌํŠธ
3306


๐Ÿ“Œ ์›๊ฒฉ์œผ๋กœ MySQL์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•
: ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

mysql -h "์—”๋“œํฌ์ธํŠธ" -P ํฌํŠธ -u ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„ -p

์œ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ mysql์ด ์—†๋‹ค๋ฉฐ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊ฒฝ์šฐ๋Š” ์„ค์ •์„ ํ•˜๋‚˜ ๋” ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

๋‚˜์˜ ์ปดํ“จํ„ฐ์— mysqlํ”„๋กœ๊ทธ๋žจ์ด ์žˆ๋Š” ํด๋”์— ๋“ค์–ด๊ฐ€ ํ•ด๋‹น ๊ฒฝ๋กœ๋ฅผ ๋ณต์‚ฌํ•ด์ฃผ๊ณ 

[๊ณ ๊ธ‰์‹œ์Šคํ…œ ์„ค์ •]์— ๋“ค์–ด๊ฐ€ Path์— ๋“ฑ๋ก์„ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.(๊ตฌ๊ธ€์— "์œˆ๋„์šฐ MySQL cmd๋กœ ์‹คํ–‰"์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋งŽ์ด ๋‚˜์˜จ๋‹ค!)

์œ„ ์ž‘์—…์„ ๋ชจ๋‘ ํ–ˆ๋Š”๋ฐ ๋‚˜๋Š” ๋ฐ”๋กœ ์‹คํ–‰์ด ์•ˆ๋˜์„œ ๋…ธํŠธ๋ถ์„ ๊ป๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰์‹œ์ผฐ๋”๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™๋˜์—ˆ๋‹ค:)



User ๋ชฉ๋ก์„ ํ™•์ธํ•ด๋ณด๋ฉด ๊ทธ๋™์•ˆ ํ–ˆ๋˜ local๊ณผ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค



RDS ์ค‘์ง€

์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ ์“ฐ๊ณ  ์žˆ๋Š” ๋ฌด๋ฃŒ ๋ฒ„์ „์€ ์‹œ๊ฐ„ ์ œํ•œ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” ๊บผ๋‘๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด๋‹ค.



์ง€๊ธˆ๋ถ€ํ„ฐ ๋˜‘๊ฐ™์ด MySQL์„ ์‚ฌ์šฉํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋ช‡ ๊ฐ€์ง€ ํ’€์–ด๋ณด์ž.




zerobase๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ด๋ณด์ž.
Default character set utf8mb4)



์‚ฌ์šฉ์ž zero๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์ž.



์‚ฌ์šฉ์ž zero์—๊ฒŒ ์™ธ๋ถ€์—์„œ zerobase์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด๋ณด์ž.

๊ถŒํ•œ์„ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•ด์„  grant -> revoke



ํ˜„์žฌ ์ ‘์†์„ ์ข…๋ฃŒํ•˜๊ณ  AWS RDS(database-1)์˜ zerobase์— zero๋กœ ์ ‘์†ํ•ด๋ณด์ž.






SQL File

ํŒŒ์ผ์„ ๋งŒ๋“ค๋ฉด ์ €์žฅํ•ด๋‘˜ ๋ฃจํŠธ ํด๋”(sql_ws)๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ๊ทธ ํ•˜์œ„์—์„œ ์‹ค์Šตํ•ด๋ณด์ž.

์‹ค์Šตํ™˜๊ฒฝ ๋งŒ๋“ค๊ธฐ

Document % mkdir sql_ws
Document % cd sql_ws
sql_ws % <-- sql_ws๋กœ ์ด๋™ -->

sql_wsํ•˜์œ„์—์„œ ํ˜„์žฌ ํดํ„ฐ๋ฅผ VSCode๋กœ ์—ด์–ด๋ณด์ž

sql_ws % code . <-- . ์€ ํ˜„์žฌ ํด๋”๋ฅผ ์˜๋ฏธ -->


SQL File

SQL ์ฟผ๋ฆฌ๋ฅผ ๋ชจ์•„๋†“์€ ํŒŒ์ผ์„ ์˜๋ฏธํ•œ๋‹ค.
ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

1. ๋กœ๊ทธ์ธํ•œ ์ƒํƒœ์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ
(mysql์„ ์ผœ๋†“์€ ์ƒํƒœ)

source /ํŒŒ์ผ๊ฒฝ๋กœ/ํŒŒ์ผ์ด๋ฆ„.sql
\. /ํŒŒ์ผ๊ฒฝ๋กœ/ํŒŒ์ผ์ด๋ฆ„.sql <-- source ๋Œ€์‹  \. ์‚ฌ์šฉ ๊ฐ€๋Šฅ -->
\. ํŒŒ์ผ์ด๋ฆ„.sql <-- ํ˜„์žฌ ํด๋”์— ํŒŒ์ผ์ด ์žˆ์œผ๋ฉด path ์ƒ๋žต ๊ฐ€๋Šฅ -->

์ง์ ‘ ์‹ค์Šตํ•ด๋ณด์ž!


ํ…Œ์ด๋ธ”์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๋Š” SQL ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

VSCode ๋‚ด์—์„œ Terminal๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์‹คํ–‰ํ•˜๋ฉด ํ˜„์žฌ SQL ํŒŒ์ผ์ด ์žˆ๋Š” ํด๋”์—์„œ Terminal์ด ์ƒ๊ธด๋‹ค.


๊ทธ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ + ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ Git bash๋ฅผ ๋ˆ„๋ฅด๋ฉด ์‚ฌ์šฉ์ด ๋” ์‰ฝ๋‹ค(?)๊ณ  ํ•ด์„œ ๊ทธ๋ ‡๊ฒŒ ์„ค์ •ํ•ด์ฃผ๊ณ  zerobase ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•ด์ฃผ์—ˆ๋‹ค.

์ง€๊ธˆ์€ SQLํŒŒ์ผ์ด ์žˆ๋Š” ํด๋”์— ์œ„์น˜ํ•ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด SQL ํŒŒ์ผ์„ ์‹คํ–‰ํ–ˆ๋‹ค.

ํ…Œ์ด๋ธ”์ด ์ž˜ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.



2. ์™ธ๋ถ€์—์„œ ๋ฐ”๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ
(cmd ์ฒซ ์ƒํƒœ)

mysql -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p < ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„ /ํŒŒ์ผ๊ฒฝ๋กœ/ํŒŒ์ผ์ด๋ฆ„.sql

์ง์ ‘ ์‹ค์Šตํ•ด๋ณด์ž!

์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ”์„ ํ•˜๋‚˜ ์ƒ์„ฑํ•˜๋Š” SQL ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.


zerobase ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•˜๋ฉด์„œ SQL ํŒŒ์ผ์„ ์‹คํ–‰ํ•œ๋‹ค.

ํ…Œ์ด๋ธ”์ด ์ž˜ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.




Database Backup

SQL File๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ๋‹ค.

mysqldump -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p ๋ฐฑ์—…ํ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„ > ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql <-- ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—… -->
mysqldump -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p --all-databases > ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql <-- ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฑ์—… -->



Database Restore

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฑ์—…ํ•œ SQL File์„ ์‹คํ–‰ํ•˜์—ฌ ๊ทธ ์‹œ์ ์œผ๋กœ ๋ณต๊ตฌํ•˜๊ฑฐ๋‚˜ ์ด์ „ํ•  ์ˆ˜ ์žˆ๋‹ค.

AWS RDS ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์—์„œ ์ ‘์†ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.

sql_ws % mysql -h "์—”๋“œํฌ์ธํŠธ" -P ํฌํŠธ -u ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„ -p

๋ฐฑ์—…ํ•œ ํŒŒ์ผ์„ ์‹คํ–‰์‹œ์ผœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณต์›์‹œํ‚ค๋ฉด ๋œ๋‹ค.




Table Backup & Restore

๐Ÿ“Œ ๋ฐฑ์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•

sql_ws % mysqldump -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p ๋ฐฑ์—…ํ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„ ๋ฐฑ์—…ํ• ํ…Œ์ด๋ธ”์ด๋ฆ„ > ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql 


๐Ÿ“Œ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฐฑ์—…๋œ ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋œ ํ›„์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œ์ผœ์•ผํ•œ๋‹ค. drop table ๋ฐฑ์—…๋œ ํ…Œ์ด๋ธ”์ด๋ฆ„

source ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql 




Table Schema Backup & Restore

๋ฐ์ดํ„ฐ๋ฅผ ์ œ์™ธํ•˜๊ณ  ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์ฟผ๋ฆฌ๋งŒ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“Œ ๋ฐฑ์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•

mysqldump -d -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p ๋ฐฑ์—…ํ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„ ๋ฐฑ์—…ํ• ํ…Œ์ด๋ธ”์ด๋ฆ„ > ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql <-- ํŠน์ • Table -->

mysqldump -d -u ์‚ฌ์šฉ์ž์ด๋ฆ„ -p ๋ฐฑ์—…ํ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„ > ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql <-- ๋ชจ๋“  Table -->

๐Ÿ“Œ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

source ๋ฐฑ์—…๋œํŒŒ์ผ์ด๋ฆ„.sql 





AWS RDS(database-1)์˜ zerobase ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐฑ์—…ํ•ด๋ณด์ž.

mysqldump --set-gtid-purged=OFF -h "์—”๋“œํฌ์ธํŠธ" -P ํฌํŠธ -u ๋งˆ์Šคํ„ฐ์‚ฌ์šฉ์ž์ด๋ฆ„ -p ๋ฐฑ์—…ํ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋ฆ„ > ๋ฐฑ์—…๋ ํŒŒ์ผ์ด๋ฆ„.sql


AWS RDS(database-1)์˜ admin ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธํ•ด๋ณด์ž.


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค zerodb๋ฅผ ์ƒ์„ฑํ•ด๋ณด์ž.


์‚ฌ์šฉ์ž zero@%์—๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค zerodb์˜ ๋ชจ๋“  ๊ถŒํ™˜์„ ๋ถ€์—ฌํ•ด๋ณด์ž.


์•ž์„œ ๋ฐฑ์—…ํ•œ zerobase ๋ฐฑ์—… ํŒŒ์ผ์„ zerodb์—์„œ ์‹คํ–‰ํ•ด๋ณด์ž.



police_station ํ…Œ์ด๋ธ”์— ์•„๋ž˜ ๋ฐ์ดํ„ฐ๋ฅผ insertํ•˜๊ธฐ ์œ„ํ•œ sqlํŒŒ์ผ์„ ์ƒ์„ฑํ•ด๋ณด์ž.



SQL ํŒŒ์ผ์„ ์‹คํ–‰์‹œ์ผœ AWS RDS(database-1) zerobase์˜ police_station ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ insertํ•˜๊ณ  ํ™•์ธํ•ด๋ณด์ž.



AWS RDS(database-1) zerobase์˜ police_station ํ…Œ์ด๋ธ”์„ SQL ํŒŒ์ผ๋กœ ๋ฐฑ์—…ํ•ด๋ณด์ž.



SQL ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ AWS RDS(database-1) zerodb์˜ police_station ํ…Œ์ด๋ธ”์„ zerobase์™€ ๋™์ผํ•˜๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž.

profile
๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€(๊ฐ€ ๋˜๊ณ ํ”ˆ) ํ™ฉ์„ฑ๋ฏธ์ž…๋‹ˆ๋‹ค!
post-custom-banner

0๊ฐœ์˜ ๋Œ“๊ธ€