Manually upgrade from InfluxDB 1.x to 2.7
To manually upgrade from InfluxDB 1.x to InfluxDB 2.7:
- Install InfluxDB 2.7
- Migrate custom configuration settings
- Create DBRP mappings
- Create authorizations
- Migrate time series data
- Migrate continuous queries
- Query data with InfluxQL
Install InfluxDB 2.7
Download, install, and set up InfluxDB 2.7.
Required 2.x credentials
All InfluxDB 2.7 influx
CLI examples below assume the required host,
organization, and API token credentials are provided by your
influx
CLI configuration.
Migrate custom configuration settings
If you’re using custom configuration settings in your InfluxDB 1.x instance, do the following:
-
Compare 1.x and 2.7 configuration settings:
-
Apply your 1.x custom settings to the comparable InfluxDB 2.7 settings using
influxd
flags, environment variables, or a 2.7 configuration file. For more information about configuring InfluxDB 2.7, see Configuration options. -
Restart
influxd
.
Create DBRP mappings
InfluxDB database and retention policy (DBRP) mappings associate database and retention policy combinations with InfluxDB 2.7 buckets. These mappings allow InfluxDB 1.x clients to successfully query and write to InfluxDB 2.7 buckets while using the 1.x DBRP convention.
For more information about DBRP mapping, see Database and retention policy mapping.
To map a DBRP combination to an InfluxDB 2.7 bucket:
-
Create a bucket
Create an InfluxDB 2.7 bucket. We recommend creating a bucket for each unique 1.x database and retention policy combination using the following naming convention:# Naming convention db-name/rp-name # Example telegraf/autogen
-
Create a DBRP mapping
Use theinflux v1 dbrp create
command to create a DBRP mapping. Provide the following:- database name
- retention policy name (not retention period)
- bucket ID
- (optional)
--default
flag if you want the retention policy to be the default retention policy for the specified database
influx v1 dbrp create \ --db example-db \ --rp example-rp \ --bucket-id 00xX00o0X001 \ --default
# Create telegraf/autogen DBRP mapping with autogen # as the default RP for the telegraf DB influx v1 dbrp create \ --db telegraf \ --rp autogen \ --bucket-id 00xX00o0X001 \ --default # Create telegraf/downsampled-daily DBRP mapping that # writes to a different bucket influx v1 dbrp create \ --db telegraf \ --rp downsampled-daily \ --bucket-id 00xX00o0X002
-
Confirm the DBRP mapping was created
Use theinflux v1 dbrp list
to list existing DBRP mappings.influx v1 dbrp list
For information about managing DBRP mappings, see the
influx v1 dbrp
command documentation.
Create authorizations
InfluxDB 2.7 requires authentication and provides two authentication methods:
Token authentication
Use InfluxDB 2.7 token authentication to authenticate requests to InfluxDB 2.7.
Recommended if:
- Your 1.x instance does not have authentication enabled.
Use tokens with basic authentication
To use tokens with InfluxDB clients that require an InfluxDB username and password, provide an arbitrary user name and pass the token as the password.
1.x-compatible authorizations
InfluxDB 2.7 provides a 1.x compatibility API that lets you authenticate using a username and password as in InfluxDB 1.x. If authentication is enabled in your InfluxDB 1.x instance, create a 1.x-compatible authorization with the same username and password as your InfluxDB 1.x instance to allow external clients to connect to your InfluxDB 2.7 instance without any change.
Recommended if:
- Your 1.x instance has authentication enabled.
- You’re using InfluxDB 1.x clients or client libraries configured with InfluxDB usernames and passwords.
1.x compatibility authorizations are separate from credentials used to log into the InfluxDB 2.7 user interface (UI).
Create a 1.x-compatible authorization
Use the InfluxDB 2.7 influx v1 auth create
command
to create a 1.x-compatible authorization that grants read/write permissions to specific 2.7 buckets.
Provide the following:
- list of bucket IDs to grant read or write permissions to
- new v1 auth username
- new v1 auth password (when prompted)
influx v1 auth create \
--read-bucket 00xX00o0X001 \
--write-bucket 00xX00o0X001 \
--username example-user
influx v1 auth create \
--read-bucket 00xX00o0X001 \
--read-bucket 00xX00o0X002 \
--write-bucket 00xX00o0X001 \
--write-bucket 00xX00o0X002 \
--username example-user
For information about managing 1.x compatible authorizations, see the
influx v1 auth
command documentation.
Migrate time series data
To migrate time series data from your InfluxDB 1.x instance to InfluxDB 2.7:
-
Use the InfluxDB 1.x
influx_inspect export
command to export time series data as line protocol. Include the-lponly
flag to exclude comments and the data definition language (DDL) from the output file.We recommend exporting each DBRP combination separately to easily write data to a corresponding InfluxDB 2.7 bucket.
# Syntax influx_inspect export \ -database <database-name> \ -retention <retention-policy-name> \ -out <output-file-path> \ -lponly # Example influx_inspect export \ -database example-db \ -retention example-rp \ -out /path/to/example-db_example-rp.lp \ -lponly
-
Use the InfluxDB 2.7
influx write
command to write the exported line protocol to InfluxDB 2.7.# Syntax influx write \ --bucket <bucket-name> \ --file <path-to-line-protocol-file> # Example influx write \ --bucket example-db/example-rp \ --file /path/to/example-db_example-rp.lp
-
Repeat steps 1-2 for each bucket.
Migrate continuous queries
For information about migrating InfluxDB 1.x continuous queries to InfluxDB 2.7 tasks, see Migrate continuous queries to tasks.
Query data with InfluxQL
InfluxDB 2.7 supports querying data with both Flux and InfluxQL. For more information about querying InfluxDB 2.7 with InfluxQL, see Query data with InfluxQL.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.