migrating_mariadb_between_hosts
Differences
This shows you the differences between two versions of the page.
| migrating_mariadb_between_hosts [2025/04/13 01:56] – created oso | migrating_mariadb_between_hosts [2025/04/13 02:01] (current) – [📦 Notes on Volume Migration and Backup] oso | ||
|---|---|---|---|
| Line 88: | Line 88: | ||
| 1. Find the volume' | 1. Find the volume' | ||
| - | | + | <code bash> |
| - | docker inspect mariadb | grep Source | + | docker inspect mariadb | grep Source |
| - | </ | + | </ |
| 2. Stop the container, then tar the volume contents: | 2. Stop the container, then tar the volume contents: | ||
| - | | + | <code bash> |
| - | docker stop mariadb | + | docker stop mariadb |
| - | sudo tar -czvf mariadb_data.tar.gz / | + | sudo tar -czvf mariadb_data.tar.gz / |
| - | </ | + | </ |
| 3. Copy the `.tar.gz` to the new server: | 3. Copy the `.tar.gz` to the new server: | ||
| - | | + | <code bash> |
| - | scp mariadb_data.tar.gz user@newserver: | + | scp mariadb_data.tar.gz user@newserver: |
| - | </ | + | </ |
| 4. Extract into a Docker volume path (on the new server): | 4. Extract into a Docker volume path (on the new server): | ||
| - | | + | <code bash> |
| - | docker volume create mariadb_data | + | docker volume create mariadb_data |
| - | sudo tar -xzvf mariadb_data.tar.gz -C / | + | sudo tar -xzvf mariadb_data.tar.gz -C / |
| - | </ | + | </ |
| 5. Now `docker compose up -d` with the same `docker-compose.yml`, | 5. Now `docker compose up -d` with the same `docker-compose.yml`, | ||
| Line 116: | Line 116: | ||
| --- | --- | ||
| + | Example for copying the volume: | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | set -e | ||
| + | |||
| + | VOLUME_ID=" | ||
| + | VOLUME_PATH="/ | ||
| + | ARCHIVE_NAME=" | ||
| + | DEST_HOST=" | ||
| + | DEST_PATH="/ | ||
| + | |||
| + | echo " | ||
| + | docker ps -q --filter volume=" | ||
| + | docker stop " | ||
| + | done | ||
| + | |||
| + | echo " | ||
| + | sudo tar -czf " | ||
| + | |||
| + | echo " | ||
| + | scp " | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | then restore in the destination server... | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | set -e | ||
| + | |||
| + | VOLUME_ID=" | ||
| + | ARCHIVE_PATH="/ | ||
| + | VOLUME_PATH="/ | ||
| + | |||
| + | echo " | ||
| + | docker volume create " | ||
| + | |||
| + | echo " | ||
| + | sudo tar -xzf " | ||
| + | |||
| + | echo " | ||
| + | sudo chown -R 999:999 " | ||
| + | |||
| + | echo " | ||
| + | docker run -d \ | ||
| + | --name mariadb \ | ||
| + | -v " | ||
| + | -e MYSQL_ROOT_PASSWORD=your_root_pass \ | ||
| + | -p 3306:3306 \ | ||
| + | mariadb: | ||
| + | |||
| + | echo " | ||
| + | </ | ||
| ===== ✅ Final Thoughts ===== | ===== ✅ Final Thoughts ===== | ||
migrating_mariadb_between_hosts.1744509374.txt.gz · Last modified: 2025/04/13 01:56 by oso
