Restore Database

To restore a MySQL database, use the restore command and specify the backup file to restore with the --file flag.

The system supports the following file formats:

  • .sql (uncompressed SQL dump)
  • .sql.gz (gzip-compressed SQL dump)
  • .sql.gpg (GPG-encrypted SQL dump)
  • .sql.gz.gpg (GPG-encrypted and gzip-compressed SQL dump)

Configuration Steps

  1. Specify the Backup File: Use the --file flag to specify the backup file to restore.
  2. Provide Database Credentials: Ensure the correct database connection details are provided.

Example: Restore Configuration

Below is an example docker-compose.yml configuration for restoring 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/mysql-bkup/releases
    # for available releases.
    image: jkaninda/mysql-bkup
    container_name: mysql-bkup
    command: restore -d database -f store_20231219_022941.sql.gz
    volumes:
      - ./backup:/backup  # Mount the directory containing the backup file
    environment:
      - DB_PORT=3306
      - DB_HOST=postgres
      - DB_NAME=database
      - DB_USERNAME=username
      - DB_PASSWORD=password
    # Ensure the pg-bkup container is connected to the same network as your database
    networks:
      - web

networks:
  web:

Key Notes

  • Supported File Formats: The restore process supports .sql, .sql.gz, .sql.gpg, and .sql.gz.gpg files.
  • Encrypted Backups: If the backup is encrypted with GPG, ensure the GPG_PASSPHRASE environment variable is set for automatic decryption.
  • Network Configuration: Ensure the mysql-bkup container is connected to the same network as your database.