Migrate from self-managed Neo4j to Aura

This tutorial describes how to migrate from a self-managed Neo4j database to Aura.

If your local Neo4j version is older than 4.3, you need to upgrade to at least Neo4j 4.3 first as explained in Upgrade and Migration Guide → Neo4j 4 upgrades and migration.

Preparation

Migrating to Neo4j 5

If you are migrating from self-managed Neo4j 4.3 or 4.4 to Neo4j 5 on Aura, carefully read the Preparation section in the Upgrade tutorial to ensure you are well prepared for the migration.

Aura instance size

Before starting, verify that the Aura instance you are migrating to is sized accordingly. The instance must be at least as large as your self-managed database to accommodate the data. The Aura RAM-to-storage ratio is 1:2, which means, for example, that a 32 GB Aura instance provides 64 GB of storage.

APOC compatibility

If you are using any APOC procedures and functions, make sure they are all available in Aura by checking the APOC support page.

Creating and uploading a database dump

In order to move data from your self-managed database to Aura, you need to create a dump of the existing database.

This process requires a short downtime for your self-managed database.

The following admin commands must be invoked with the same user as your self-managed Neo4j database. This guarantees that Neo4j has full rights to start and work with the database files you use.

  1. Stop your self-managed Neo4j database. If you are running an Enterprise Edition, you can stop only the database you want to dump using the command STOP DATABASE neo4j in Cypher Shell or Browser.

  2. Ensure the target directory to store the database dumps (for instance /dumps/neo4j) exists.

  3. Depending on your self-managed Neo4j version, create a dump of your database (e.g., neo4j) using one of the following options:

    Use the neo4j-admin dump command.

    bin/neo4j-admin dump --database=neo4j --to=/dumps/neo4j

    Use the neo4j-admin database dump command.

    bin/neo4j-admin database dump neo4j --to-path=/dumps/neo4j
  4. Depending on your self-managed Neo4j version, upload the database dump (e.g., neo4j) to your Aura instance using one of the following options:

    Use the neo4j-admin push-to-cloud command.

    bin/neo4j-admin push-to-cloud --dump=/dumps/neo4j/file.dump --bolt-uri=neo4j+s://xxxxxxxx.databases.neo4j.io --overwrite

    Use the neo4j-admin database upload command.

    bin/neo4j-admin database upload neo4j --from-path=/dumps/neo4j --to-uri=neo4j+s://xxxxxxxx.databases.neo4j.io --overwrite-destination=true