Skip to main content

MariaDB mySQL backup und wiederherstellen in Docker

Sobald du Docker benutzt, um dir eine MariaDB / mySQL Datenbank einzurichten, wirst du merken, dass es ein wenig komplizierter wird hier eine existierende Datenbank einzuspielen.
Da die Container von deinem Betriebssystem abgetrennt sind, ist hier über einen Kniff die Funktionalität zu holen.
Einerseits kannst du über die docker-compose.yml dir einen Pfad in den Docker-Container freigeben, dich dann auf den Datenbank-Container verbinden und mit dem mysql-befehl importieren. Oder du nutzt folgenden Einzeiler, um deine Datenbank zu im-/exportieren.

Backup mittels mysqldump

docker exec db_container_name mysqldump [--user nutzername] [--password=deinpasswort] datenbank_name > /dein/backup/pfad/db.sql

Merke:
Der Befehl mysqldump funktioniert für MariaDB, wie auch für mySQL-Datenbanken, egal welche du gerade benutzt. Diese Funktion ist standardmäßig auf den Containern von MariaDB und mySQL installiert.

Wiederherstellen der Datenbank

docker exec -i db_container_name mysql [--user nutzername] [--password=deinpasswort] datenbank_name < /dein/backup/pfad/db.sql

Backup und Wiederherstellen in einem Befehl

Falls du mal zu dem Fall kommst, dass du die Datenbank aus einem Datenbank-Container exportieren und in einen neuen importieren möchtest, hilft dir folgender Befehl:

docker exec db_container_name mysqldump [--user nutzername] [--password=deinpasswort] datenbank_name | docker exec -i zweiter_db_container_name mysql [--user nutzername] [--password=deinpasswort] -C datenbank_name

Cheers!

Your E-Mail address will be encrypted before saving the comment. It will only be used to display a gravatar. By submitting your data, you agree that all entered data may be saved and displayed as a comment.

🤖 Cookies

We use cookies to improve your experience. Find out more in our privacy page.