Documentation menu

Version 1.8.0-community

Introduction

GoArchive is a command-line tool for archiving related MySQL data across servers, with automatic dependency resolution and verification before deletion.

GoArchive is a command-line tool for moving related data out of a MySQL database. It archives a parent row together with every child row that depends on it, copies the whole set to an archive server in the correct order, confirms the copy arrived intact, and only then removes the data from the source.

What it does

Databases accumulate data that is no longer active but cannot simply be deleted: it is still referenced by other tables, still needed for reporting, or still subject to a retention obligation. Moving that data out means dealing with the relationships between tables.

GoArchive takes a description of those relationships and does the rest:

  1. Discovers every row that belongs with a given parent row, following the relationships you declared.
  2. Orders the work so parents are written before children, and children are removed before parents.
  3. Copies the data to the destination server in batches.
  4. Verifies that what arrived matches what was read.
  5. Removes the source data once verification succeeds.
  6. Records progress, so an interrupted run continues where it stopped.

Three workflows

GoArchive provides three ways to move data, all sharing the same discovery, ordering, and safety behaviour.

WorkflowCopies to destinationRemoves from source
ArchiveYesYes
CopyYesNo
PurgeNoYes

Alongside these, validate, dry-run, and plan let you inspect exactly what a job will do before running it.

Requirements

DatabaseMySQL 8.0 or later
Storage engineInnoDB
Primary keysA single-column primary key on every participating table
Root tableAn integer primary key
RelationshipsOne-to-one and one-to-many

Where to go next

  • Installation β€” install the binary
  • Quick Start β€” a working job in a few minutes
  • Concepts β€” how discovery, batching, and verification work
  • Guides β€” a walkthrough for each workflow

If you would like help setting an archiving plan up in production, our team is available for consulting and support .