mysql-dump-in-docker
#docker
๋ฐฐ๊ฒฝ
๋ก์ปฌ์์ ์ฌ์ฉ ์ค์ธ docker(mysql) ์ ๊ตฌ์กฐ๋ฅผ main-repl ํํ๋ก ๋ณ๊ฒฝํ ํ์๊ฐ ์๊น.
์ฒ์ ์๊ฐ์
mysql dump
,mysql main-repl on docker
๋ฑ์ ํค์๋๋ฅผ ํตํด์
mysql dump, restore data
์ผ๋ฐ์ ์ธ dump ์ปค๋งจ๋๋ฅผ ์ฐพ์๋ณด๊ธฐ๋ณด๋ค๋, ๊ณต์๋ฌธ์(docker)์์ ์ฐพ์๋ณด๋ ๊ฒ, ๋ ๊ณ ์ํ์๋ฏ ์ถ์.
์๋ ์ปค๋งจ๋๋ฅผ ํตํด, ๋ฉ์ธ DB์ data๋ฅผ dump ํ๊ณ , repl ๊ตฌ์ฑ ํ, ๋๊ธฐํ ํ๋ ๋ฐฉ์์ผ๋ก ํ์.
Creating database dumps
--master-data
๊ฐ์ ์ต์ ์ ๋ถ์ด์ค๋ ๊ด์ฐฎ์๋ฏ, ์ฐธ๊ณall-database.sql
๋ชจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ dump ๋ธ.
Restoring data from dump files
Setting Up Binary Log File Position Based Replication
replica ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋์ปค์ ๋์ด ์ํ๋ผ ๊ฐ์ .
replica db์๋ ์๋ฌด๋ฐ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉฐ, configuration์ ๋ฉ์ธ๊ณผ ๋์ผํ ์ํ
Setting the Replication Source Configuration
server-id, main-repl์ ๊ตฌ๋ถํ๊ธฐ ์ํด
log-bin,
Binary logging
์ ๋์ํ๊ธฐ ์ํด์ด ๊ธฐ๋ฅ์ ํตํด์, ๋ฉ์ธ๋๋น์ ๋ณ๊ฒฝ์ฌํญ์ด ๊ธฐ๋ก๋๊ณ , ์ด ๋ก๊ทธ ๊ธฐ๋ก์ ํตํด ๋ณต์ ๋๋น์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ณต์ ๋๋ค๊ณ ์ดํด๋จ.
Creating a User for Replication
๋ฉ์ธ ๋๋น์์, replication์ ์ฌ์ฉํ ์ ์ ๋ฅผ ์์ฑ
Obtaining the Replication Source's Binary Log Coordinates
repl ์์ master ์ค์ ํ ๋ ํ์ํ ์ ๋ณด๋ค
Choosing a Method for Data Snapshots
์ ์ฒซ๋ฒ์งธ ๋ฌธ๋จ ์ฐธ๊ณ ํด์, dump ์คํ
Setting Up Replicas
configuration ํ์ผ์, replica๋ฅผ ๊ตฌ๋ถํ ์ ์๋ ์ ๋ํฌํ ์๋ฒ ์์ด๋ ์ค์
Setting the Source Configuration on the Replica
repl db์์
LOG_FILE
์ Main ์์SHOW MASTER STATUS
๋ฅผ ํตํด ๋ณด์ด๋File
๊ฐlog-bin
์ ์ค์ ๋ ๊ฐ์ด prefix๋ก ๋ถ์ด์๋ ๋ฏ.
LOG_POS
๋ ์ ๋ช ๋ น์ ๊ฒฐ๊ณผ ๊ฐ ์ค์Position
Setting Up Replication between a New Source and Replicas
์ ์ฒซ๋ฒ์งธ ๋ฌธ๋จ ์ฐธ๊ณ ํด์, repl ์ ๋ฐ์ดํฐ restore ์คํ
๋ฉ์ธ, ๋ณต์ ๋๋น์ ๋ฐ์ดํฐ๊ฐ ๋๊ฐ์ ์ํ์์, replication์ด ์์๋์ด์ผ ๋ฐ์ดํฐ์ ์ ํฉ์ฑ์ด ๋ง๋ค๊ณ ๋ณผ ์ ์๊ฒ ์.
Start the replication threads
repl์์, SLAVE ํ๋ ์์
์ด์ ๋ฉ์ธ ๋๋น์์ ํ ์ด๋ธ ์์ฑ, ํน์ ๋ฐ์ดํฐ ์์ฑ๋ฑ์ด repl์ ์๋์ ์ผ๋ก ์ ์ฉ๋๋ ์ง ํ์ธํ๋ฉด ๋.
Reference
https://hub.docker.com/_/mysql
https://dev.mysql.com/doc/mysql-replication-excerpt/5.7/en/replication-howto-slavebaseconfig.html
https://sesamedisk.com/docker-mysql-master-slave-replication-with-docker/
Last updated