ColdPlaneDocs
Guides

Backup MySQL

Archive MySQL databases with ColdPlane.

This guide covers archiving MySQL databases to cold storage using ColdPlane.

Prerequisites

  • MySQL 5.7 or later
  • A user with SELECT permission on target tables
  • ColdPlane CLI installed

Create the Backup

coldplane backup create \
  --db-url "mysql://readonly:password@db.example.com:3306/production" \
  --tables "users,orders,products"

Verify the Backup

coldplane backup list
coldplane backup describe <backup-id>

ColdPlane uses read-only connections and does not acquire locks on your database. For extra safety, consider using a read replica for large tables.

Local Mode

You can archive MySQL tables locally without a ColdPlane account. Local backups are stored as Parquet files on your machine.

coldplane backup create --local \
  --db-url "mysql://user:pass@localhost:3306/mydb" \
  --tables "users,orders"

Local backups are saved to ~/.coldplane/backups/<name>/. You can list them with:

coldplane backup list --local

Query them directly:

coldplane query run --local \
  --backup-id <backup-name> \
  --sql "SELECT count(*) FROM restore_input"

And delete when no longer needed:

coldplane backup delete --local <backup-name>

Local mode is a great way to try ColdPlane. When you are ready for encrypted cloud storage and team features, sign up and drop the --local flag.