โ๐ป 25์ผ ๊ณต๋ถ ์ด์ผ๊ธฐ.
: AWS์์ ์ ๊ณตํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค
๐ ํด๋ผ์ฐ๋ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํด๋ณด์!
[์๋น์ค] - [๋ชจ๋ ์๋น์ค] - [๋ฐ์ดํฐ๋ฒ ์ด์ค] - [RDS] - [๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ] ํด๋ฆญ
๋ง์คํฐ ๊ณ์ ์ผ๋ก ์ฒ์์ ์ ๊ทผํ๊ฒ ๋ ํ
๋ฐ
์ด๋, ๋ง์คํฐ ์ํธ๋ MySQL ์ค์น์ ๋ฃจํธ ๊ณ์ ์ํธ์ฒ๋ผ ์์ด๋ฒ๋ฆฌ๋ฉด ์๋๋ค!!(๋๋ AWS ๊ฐ์
์ํธ์ ๋์ผํ๊ฒ ์ค์ ํด๋ฐ)
๊ฐ์ธ์ ๊ธฐํธ์ ๋ง๊ฒ ์ค์ ์ ํด์ฃผ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ์ ๋๋ฌ์ฃผ๋ฉด (์์ง๊น์ง๋ ์ธ๋ถ์ ์ ๊ทผ์ด ๋ถ๊ฐํ) database-1
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๋ค์ด์ง๋ค.
๐ ์ธ๋ถ ์ ์์ ์ค์ ํด๋ณด์
[database-1] ํด๋ฆญ - [์ฐ๊ฒฐ & ๋ณด์] - [VPC ๋ณด์ ๊ทธ๋ฃน] - (๋ํดํธ๋ก ๋ง๋ค์ด์ง ๊ฒ!) [๋ณด์ ๊ทธ๋ฃน ID] ํด๋ฆญ
[์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง] ํด๋ฆญ
[๊ท์น ์ถ๊ฐ] - [MySQL/Aurora] - [Anywhere-IPv4] - [๊ท์น ์ ์ฅ]
์ด์ ์ด๋์์๋ ์ ๊ทผ ๊ฐ๋ฅํ database-1
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๋ค์ด์ก๋ค!
๋์ค์ ์๋ํฌ์ธํธ๋ฅผ ํธ์คํธ์ ์ด๋ฆ์ผ๋ก, ํฌํธ๋ ํธ์คํธ์ ํฌํธ๋ก ์ธ ๊ฒ์ด๋ฏ๋ก ๋ณต์ฌ ๋ถ์ฌ๋๊ธฐ ํด๋ ๊ฒ๐ฅฐ
์๋ํฌ์ธํธ
database-1.cohcgh9bucnv.ap-southeast-2.rds.amazonaws.com
ํฌํธ
3306
๐ ์๊ฒฉ์ผ๋ก MySQL์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ
: ํฐ๋ฏธ๋์์ ์๋ ์ฝ๋๋ฅผ ์คํํด์ฃผ๋ฉด ๋๋ค.
mysql -h "์๋ํฌ์ธํธ" -P ํฌํธ -u ๋ง์คํฐ ์ฌ์ฉ์ ์ด๋ฆ -p
์ ์ฝ๋๋ฅผ ์คํํ๋๋ฐ mysql์ด ์๋ค๋ฉฐ ์๋ฌ๊ฐ ๋๋ ๊ฒฝ์ฐ๋ ์ค์ ์ ํ๋ ๋ ํด์ฃผ์ด์ผ ํ๋ค.
๋์ ์ปดํจํฐ์ mysql
ํ๋ก๊ทธ๋จ์ด ์๋ ํด๋์ ๋ค์ด๊ฐ ํด๋น ๊ฒฝ๋ก๋ฅผ ๋ณต์ฌํด์ฃผ๊ณ
[๊ณ ๊ธ์์คํ
์ค์ ]์ ๋ค์ด๊ฐ Path์ ๋ฑ๋ก์ ํด์ฃผ๋ฉด ๋๋ค.(๊ตฌ๊ธ์ "์๋์ฐ MySQL cmd๋ก ์คํ"์ ๊ฒ์ํ๋ฉด ๋ง์ด ๋์จ๋ค!)
์ ์์
์ ๋ชจ๋ ํ๋๋ฐ ๋๋ ๋ฐ๋ก ์คํ์ด ์๋์ ๋
ธํธ๋ถ์ ๊ป๋ค๊ฐ ๋ค์ ์คํ์์ผฐ๋๋ ์ ์์ ์ผ๋ก ์๋๋์๋ค:)
User ๋ชฉ๋ก์ ํ์ธํด๋ณด๋ฉด ๊ทธ๋์ ํ๋ local๊ณผ ์ฐจ์ด๋ฅผ ๋ณผ ์ ์๋ค
์ฐ๋ฆฌ๊ฐ ์ง๊ธ ์ฐ๊ณ ์๋ ๋ฌด๋ฃ ๋ฒ์ ์ ์๊ฐ ์ ํ์ด ์๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์์ ๋๋ ๊บผ๋๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๋ค.
์ง๊ธ๋ถํฐ ๋๊ฐ์ด MySQL์ ์ฌ์ฉํ ๊ฒ์ฒ๋ผ ์ธ ์ ์๋ค. ๋ฌธ์ ๋ฅผ ๋ช ๊ฐ์ง ํ์ด๋ณด์.
zerobase๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํด๋ณด์.
Default character set utf8mb4)
์ฌ์ฉ์ zero๋ฅผ ์ถ๊ฐํด๋ณด์.
์ฌ์ฉ์ zero์๊ฒ ์ธ๋ถ์์ zerobase์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํด๋ณด์.
๊ถํ์ ์ญ์ ํ๊ธฐ ์ํด์ grant -> revoke
ํ์ฌ ์ ์์ ์ข
๋ฃํ๊ณ AWS RDS(database-1)์ zerobase์ zero๋ก ์ ์ํด๋ณด์.
ํ์ผ์ ๋ง๋ค๋ฉด ์ ์ฅํด๋ ๋ฃจํธ ํด๋(sql_ws)๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ ๊ทธ ํ์์์ ์ค์ตํด๋ณด์.
Document % mkdir sql_ws
Document % cd sql_ws
sql_ws % <-- sql_ws๋ก ์ด๋ -->
sql_wsํ์์์ ํ์ฌ ํดํฐ๋ฅผ VSCode๋ก ์ด์ด๋ณด์
sql_ws % code . <-- . ์ ํ์ฌ ํด๋๋ฅผ ์๋ฏธ -->
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 ํ์ผ์ ์คํํ๋ค.
ํ ์ด๋ธ์ด ์ ์์ฑ๋์๋ค.
SQL File๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ์ ํ ์ ์๋ค.
mysqldump -u ์ฌ์ฉ์์ด๋ฆ -p ๋ฐฑ์
ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฆ > ๋ฐฑ์
๋ํ์ผ์ด๋ฆ.sql <-- ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์
-->
mysqldump -u ์ฌ์ฉ์์ด๋ฆ -p --all-databases > ๋ฐฑ์
๋ํ์ผ์ด๋ฆ.sql <-- ๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐฑ์
-->
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฐฑ์ ํ SQL File์ ์คํํ์ฌ ๊ทธ ์์ ์ผ๋ก ๋ณต๊ตฌํ๊ฑฐ๋ ์ด์ ํ ์ ์๋ค.
AWS RDS ์๋น์ค๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ํ์์ ์ ์ํด์ฃผ์ด์ผํ๋ค.
sql_ws % mysql -h "์๋ํฌ์ธํธ" -P ํฌํธ -u ๋ง์คํฐ ์ฌ์ฉ์ ์ด๋ฆ -p
๋ฐฑ์ ํ ํ์ผ์ ์คํ์์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ณต์์ํค๋ฉด ๋๋ค.
๐ ๋ฐฑ์ ํ๋ ๋ฐฉ๋ฒ
sql_ws % mysqldump -u ์ฌ์ฉ์์ด๋ฆ -p ๋ฐฑ์
ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ฆ ๋ฐฑ์
ํ ํ
์ด๋ธ์ด๋ฆ > ๋ฐฑ์
๋ํ์ผ์ด๋ฆ.sql
๐ ๋ณต๊ตฌํ๋ ๋ฐฉ๋ฒ
๋ฐฑ์
๋ ํ
์ด๋ธ์ด ์ญ์ ๋ ํ์ ์๋ ์ฝ๋๋ฅผ ์คํ์์ผ์ผํ๋ค. drop table ๋ฐฑ์
๋ ํ
์ด๋ธ์ด๋ฆ
source ๋ฐฑ์
๋ํ์ผ์ด๋ฆ.sql
๋ฐ์ดํฐ๋ฅผ ์ ์ธํ๊ณ ํ ์ด๋ธ ์์ฑ ์ฟผ๋ฆฌ๋ง ๋ฐฑ์ ํ ์ ์๋ค.
๐ ๋ฐฑ์ ํ๋ ๋ฐฉ๋ฒ
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์ ๋์ผํ๊ฒ ๋ง๋ค์ด๋ณด์.