Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit ca9d7d3

Browse files
committed
build: use mysqldump to backup/restore databases
also, remove mysql57 from the backup/restore make targets
1 parent e6bbf93 commit ca9d7d3

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

Makefile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -226,17 +226,23 @@ impl-dev.provision.%: dev.check-memory ## Provision specified services.
226226
dev.provision.%: ## Provision specified services.
227227
@scripts/send_metrics.py wrap "dev.provision.$*"
228228

229-
dev.backup: dev.up.mysql57+mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Write all data volumes to the host.
230-
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql57) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql57.tar.gz /var/lib/mysql
231-
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql80) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mysql80.tar.gz /var/lib/mysql
229+
dev.mysqldumpall: dev.up.mysql80
230+
sleep 10 # give the mysql server time to fully start up
231+
docker compose exec mysql80 mysqldump --all-databases > .dev/devstackall.sql
232+
233+
dev.mysqlrestoredump: dev.up.mysql80
234+
sleep 10 # give the mysql server time to fully start up
235+
docker compose exec -T mysql80 mysql < .dev/devstackall.sql
236+
237+
## Write all data volumes to the host, except for mysql, just use mysqldump
238+
dev.backup: dev.up.mongo+elasticsearch710+opensearch12+coursegraph dev.mysqldumpall
232239
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/mongo.tar.gz /data/db
233240
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch710) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/elasticsearch710.tar.gz /usr/share/elasticsearch/data
234241
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.opensearch12) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/opensearch12.tar.gz /usr/share/opensearch/data
235242
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.coursegraph) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zcvf /backup/coursegraph.tar.gz /data
236243

237-
dev.restore: dev.up.mysql57+mysql80+mongo+elasticsearch710+opensearch12+coursegraph ## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA!
238-
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql57) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql57.tar.gz
239-
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mysql80) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mysql80.tar.gz
244+
## Restore all data volumes from the host. WILL OVERWRITE ALL EXISTING DATA!
245+
dev.restore: dev.up.mongo+elasticsearch710+opensearch12+coursegraph dev.mysqlrestoredump
240246
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.mongo) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/mongo.tar.gz
241247
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.elasticsearch710) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/elasticsearch710.tar.gz
242248
docker run --rm --volumes-from $$(make --silent --no-print-directory dev.print-container.opensearch12) -v $$(pwd)/.dev/backups:/backup debian:jessie tar zxvf /backup/opensearch12.tar.gz

docker-compose.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,6 @@ services:
418418
- memcached
419419
- mongo
420420
- mysql80
421-
- mysql57
422421
# Allows attachment to the LMS service using 'docker attach <containerID>'.
423422
stdin_open: true
424423
tty: true

0 commit comments

Comments
 (0)