---
title: Upgrade from InfluxDB 1.x to  2.9
description: Explore different methods for upgrading from InfluxDB 1.x to InfluxDB 2.9 and choose the best one for your use case.
url: https://docs.influxdata.com/influxdb/v2/install/upgrade/v1-to-v2/
estimated_tokens: 329
product: InfluxDB OSS v2
version: v2
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb/v2/install/upgrade/v1-to-v2/
date: '2025-12-31T13:54:10-06:00'
lastmod: '2025-12-31T13:54:10-06:00'
---

This page documents an earlier version of InfluxDB OSS.[InfluxDB 3 Core](/influxdb3/core/) is the latest stable version.

#### API token hashing is enabled by default in InfluxDB OSS 2.9.0

Stronger token security: tokens are stored as hashes on disk, so a
copy of the database file doesn’t expose usable tokens. Existing
tokens are hashed on first startup and the original strings can’t
be recovered afterward — **capture any plaintext tokens you still
need before you upgrade**.

For more information, see [Token hashing](/influxdb/v2/admin/tokens/#token-hashing).

Explore different methods for upgrading from InfluxDB 1.x to InfluxDB 2.9 and
determine which best suits your use case.
Consider the following:

#### Do you want to migrate all your time series data?

[Automatically upgrade to InfluxDB 2.9](/influxdb/v2/upgrade/v1-to-v2/automatic-upgrade/).

#### Do you want to selectively migrate your time series data?

[Manually upgrade to InfluxDB 2.9](/influxdb/v2/upgrade/v1-to-v2/manual-upgrade/).

#### Are you using Docker?

[Upgrade to the 2.x Docker image](/influxdb/v2/upgrade/v1-to-v2/docker/).

#### Are you using continuous queries (CQs)?

After you upgrade (automatically, manually, or using Docker),[migrate your 1.x CQs to InfluxDB 2.9 tasks](/influxdb/v2/upgrade/v1-to-v2/migrate-cqs/).
