Skip to content

Instantly share code, notes, and snippets.

@piihuynh
Forked from spalladino/mysql-docker.sh
Last active December 20, 2021 23:30
Show Gist options
  • Select an option

  • Save piihuynh/66b1ae52deadb5781e084e5121626194 to your computer and use it in GitHub Desktop.

Select an option

Save piihuynh/66b1ae52deadb5781e084e5121626194 to your computer and use it in GitHub Desktop.
Backup and restore a mysql database from a running Docker mysql container
# Backup
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
# Backup with compression
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE | gzip > `date +%Y-%m-%d-%T%z`-NAME.sql.gz
# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE
# Restore from gzip
zcat 2018-11-14-backup.sql.gz | docker exec -i CONTAINER /usr/bin/mysql -u root --password=root DATABASE
# Extra: Add the --default-character-set=utf8mb4 flag to get emojis in the database to work.
# Backup
docker exec CONTAINER /usr/bin/mysqldump --default-character-set=utf8mb4 -u root --password=root DATABASE > backup.sql
# Restore
cat backup.sql | docker exec -i CONTAINER /usr/bin/mysql --default-character-set=utf8mb4 -u root --password=root DATABASE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment