mirror of
https://github.com/jkaninda/mysql-bkup.git
synced 2025-12-06 21:49:40 +01:00
2.8 KiB
2.8 KiB
title, layout, parent, nav_order
| title | layout | parent | nav_order |
|---|---|---|---|
| Migrate database | default | How Tos | 10 |
Migrate Database
To migrate a MySQL database from a source to a target database, you can use the migrate command. This feature simplifies the process by combining the backup and restore operations into a single step.
{: .note }
The migrate command eliminates the need for separate backup and restore operations. It directly transfers data from the source database to the target database.
{: .warning }
The migrate operation is irreversible. Always back up your target database before performing this action.
Configuration Steps
- Source Database: Provide connection details for the source database.
- Target Database: Provide connection details for the target database.
- Run the Migration: Use the
migratecommand to initiate the migration.
Example: Docker Compose Configuration
Below is an example docker-compose.yml configuration for migrating a database:
services:
mysql-bkup:
# In production, lock your image tag to a specific release version
# instead of using `latest`. Check https://github.com/jkaninda/mysqlbkup/releases
# for available releases.
image: jkaninda/mysql-bkup
container_name: mysql-bkup
command: migrate
volumes:
- ./backup:/backup
environment:
## Source Database
- DB_PORT=3306
- DB_HOST=mysql
- DB_NAME=database
- DB_USERNAME=username
- DB_PASSWORD=password
## Target Database
- TARGET_DB_HOST=target-postgres
- TARGET_DB_PORT=3306
- TARGET_DB_NAME=dbname
- TARGET_DB_USERNAME=username
- TARGET_DB_PASSWORD=password
# Ensure the mysql-bkup container is connected to the same network as your database
networks:
- web
networks:
web:
Migrate Database Using Docker CLI
You can also run the migration directly using the Docker CLI. Below is an example:
Environment Variables
Save your source and target database connection details in an environment file (e.g., your-env):
## Source Database
DB_HOST=postgres
DB_PORT=3306
DB_NAME=dbname
DB_USERNAME=username
DB_PASSWORD=password
## Target Database
TARGET_DB_HOST=target-postgres
TARGET_DB_PORT=3306
TARGET_DB_NAME=dbname
TARGET_DB_USERNAME=username
TARGET_DB_PASSWORD=password
Run the Migration
docker run --rm --network your_network_name \
--env-file your-env \
-v $PWD/backup:/backup/ \
jkaninda/pg-bkup migrate
Key Notes
- Irreversible Operation: The
migratecommand directly transfers data from the source to the target database. Ensure you have a backup of the target database before proceeding. - Network Configuration: Ensure the
mysql-bkupcontainer is connected to the same network as your source and target databases.