Restore data
Restores not supported in InfluxDB Cloud.
Use the influx restore
command to restore backup data and metadata from InfluxDB OSS.
InfluxDB moves existing data and metadata to a temporary location. If the restore fails, InfluxDB preserves temporary data for recovery, otherwise this data is deleted. See Recover from a failed restore.
Cannot restore to existing buckets
The influx restore
command cannot restore data to existing buckets. Use the --new-bucket
flag to create a new bucket to restore data to. To restore data and retain bucket names, delete existing buckets and then begin the restore process.
Restore data with the influx CLI
Use the influx restore
command and specify the path to the backup directory.
For more information about restore options and flags, see the influx restore documentation.
- Restore all time series data
- Restore data from a specific bucket
- Restore and replace all InfluxDB data
Restore all time series data
To restore all time series data from a backup directory, provide the following:
- backup directory path
influx restore /backups/2020-01-20_12-00/
Restore data from a specific bucket
To restore data from a specific backup bucket, provide the following:
- backup directory path
- bucket name or ID
influx restore \
/backups/2020-01-20_12-00/ \
--bucket example-bucket
# OR
influx restore \
/backups/2020-01-20_12-00/ \
--bucket-id 000000000000
If a bucket with the same name as the backed up bucket already exists in InfluxDB, use the --new-bucket
flag to create a new bucket with a different name and restore data into it.
influx restore \
/backups/2020-01-20_12-00/ \
--bucket example-bucket \
--new-bucket new-example-bucket
Restore and replace all InfluxDB data
To restore and replace all time series data and InfluxDB key-value data such as tokens, users, dashboards, etc., include the following:
--full
flag- backup directory path
influx restore \
/backups/2020-01-20_12-00/ \
--full
Restore to a new InfluxDB server
If using a backup to populate a new InfluxDB server:
Retrieve the admin token from your source InfluxDB instance.
Set up your new InfluxDB instance, but use the
-t
,--token
flag to use the admin token from your source instance as the admin token on your new instance.influx setup --token My5uP3rSecR37t0keN
Restore the backup to the new server.
influx restore \
/backups/2020-01-20_12-00/ \
--full
If you do not provide the admin token from your source InfluxDB instance as the admin token in your new instance, the restore process and all subsequent attempts to authenticate with the new server will fail.
- The first restore API call uses the auto-generated token to authenticate with the new server and overwrites the entire key-value store in the new server, including the auto-generated token.
- The second restore API call attempts to upload time series data, but uses the auto-generated token to authenticate with new server. That token is overwritten in first restore API call and the process fails to authenticate.
Recover from a failed restore
If the restoration process fails, InfluxDB preserves existing data in a tmp
directory in the target engine path (default is ~/.influxdbv2/engine
).
To recover from a failed restore:
- Copy the temporary files back into the
engine
directory. - Remove the
.tmp
extensions from each of the copied files. - Restart the
influxd
server.