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.
-
Stop your self-managed Neo4j database. If you are running AuraDB Virtual Dedicated Cloud or AuraDS Enterprise, you can stop only the database you want to dump using the command
STOP DATABASE neo4j
in Cypher Shell or Browser. -
Ensure the target directory to store the database dumps (for instance
/dumps/neo4j
) exists. -
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
-
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