Backup and restore MySQL Docker database
How to backup and restore a MySQL or MariaDB database that's running via Docker or Docker Compose.
To backup / make a dump of a MySQL or MariaDB database within a Docker container, just run:
Backup
docker exec DATABASECONTAINER mysqldump -u DATABASEUSER --password=DATABASEPASSWORD DATABASE > backup.sql
To restore a MySQL or MariaDB database from the mysqldump
:
Restore
cat backup.sql | docker exec -i DATABASECONTAINER mysql -u DATABASEUSER --password=DATABASEPASSWORD DATABASE
So a real-world example might look like this:
Backup Example
docker exec wordpress-mysql mysqldump -u root --password=correcthorsebatterystaple wordpressdb > backup.sql
And restoring:
Restore Example
cat backup.sql | docker exec -i wordpress-mysql mysql -u root --password=correcthorsebatterystaple wordpressdb