创建数据库
使用 influxdb3 create database 命令、HTTP API 或 InfluxDB 3 Explorer 在 InfluxDB 3 Core 中创建数据库。
- 使用 influxdb3 CLI 创建数据库
- 使用 HTTP API 创建数据库
- 使用 InfluxDB 3 Explorer 创建数据库
- 数据保留期
- 数据库命名限制
- InfluxQL DBRP 命名约定
- 数据库限制
使用 influxdb3 CLI 创建数据库
使用 influxdb3 create database 命令 创建数据库。提供以下信息
Core 中的数据保留期是不可变的
在 InfluxDB 3 Core 中,数据保留期只能在创建数据库时设置,之后无法更改。如果需要更改数据保留期,则必须创建一个具有所需数据保留期的新数据库,然后迁移您的数据。
# Create a database with a 30-day retention period
influxdb3 create database --retention-period 30d DATABASE_NAME
# Create a database with a 90-day retention period using authentication
influxdb3 create database \
--retention-period 90d \
--token AUTH_TOKEN \
DATABASE_NAME
# Create a database with infinite retention (default)
influxdb3 create database DATABASE_NAME替换以下内容:
DATABASE_NAME:要创建的数据库的名称AUTH_TOKEN:您的 管理员令牌
使用 HTTP API 创建数据库
要使用 HTTP API 创建数据库,请将 POST 请求发送到 /api/v3/configure/database 端点
POST localhost:8181/api/v3/configure/database在您的请求中包含以下内容
- Headers:
Content-Type: application/jsonAuthorization: Bearer加上您的 管理员令牌
- 请求体 (JSON 对象)
db(string, required): 数据库名称retention_period(string, optional): 数据保留期。如果省略,数据不会过期。
Core 中的数据保留期是不可变的
在 InfluxDB 3 Core 中,数据保留期只能在创建数据库时设置,之后无法更改。如果需要更改数据保留期,则必须创建一个具有所需数据保留期的新数据库,然后迁移您的数据。
# Create a database with a 30-day retention period
curl --request POST "localhost:8181/api/v3/configure/database" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer AUTH_TOKEN" \
--data '{
"db": "DATABASE_NAME",
"retention_period": "30d"
}'
# Create a database with a 90-day retention period
curl --request POST "localhost:8181/api/v3/configure/database" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer AUTH_TOKEN" \
--data '{
"db": "DATABASE_NAME",
"retention_period": "90d"
}'
# Create a database with infinite retention (default)
curl --request POST "localhost:8181/api/v3/configure/database" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer AUTH_TOKEN" \
--data '{
"db": "DATABASE_NAME"
}'替换以下内容:
DATABASE_NAME:要创建的数据库的名称AUTH_TOKEN:您的 管理员令牌
响应
成功请求将返回 HTTP 状态码 200 以及数据库配置。
使用 InfluxDB 3 Explorer 创建数据库
当前,您无法在 Explorer 中创建数据库时设置数据保留期。要创建具有数据保留期的数据库,请参阅以下任一方法
Core 中的数据保留期是不可变的
在 InfluxDB 3 Core 中创建数据库后,您无法更改其数据保留期。
使用 InfluxDB 3 Explorer Web 界面在 InfluxDB 3 Core 中创建数据库
- 如果您还没有这样做,请参阅如何 开始使用 Explorer 并连接到您的 InfluxDB 3 Core 服务器。
- 在 Explorer 中,单击左侧导航栏中的 Manage Databases。
- 单击 + Create New。
- 输入数据库名称。
- 单击 Create Database。
有关更多信息,请参阅 使用 InfluxDB 3 Explorer 管理数据库。
数据保留期
默认情况下,数据不会过期。创建数据库时,设置一个数据保留期以自动删除过期数据并优化存储。
数据保留期语法
数据保留期值是时间持续时间值,由一个数字加上一个持续时间单位组成。例如,30d 表示 30 天。数据保留期值不能为负数,也不能包含空格。
有效的持续时间单位包括
- m:分钟
- h:小时
- d:天
- w:周
- mo:月
- y:年
数据保留期限制
- 数据保留的最小值:实际最小数据保留期为 1 小时 (
1h)。 - 零持续时间周期:允许将数据保留期设置为
0<unit>(例如0d或0h),但这会将所有数据标记为在查询时立即删除。这与 InfluxDB 1.x 和 2.x 不同,在这些版本中0d表示无限期保留。 - 无限期保留:使用
none设置无限期保留。
有关数据保留期的更多信息,请参阅 数据保留。
Core 中的数据保留期是不可变的
在 InfluxDB 3 Core 中,数据保留期只能在创建数据库时设置,之后无法更改。如果需要更改数据保留期,则必须创建一个具有所需数据保留期的新数据库,然后迁移您的数据。
对于可变数据保留期和表级数据保留,请考虑升级到 InfluxDB 3 Enterprise。
数据库命名限制
数据库名称必须遵守以下命名限制
- 长度:最多 64 个字符
- 允许的字符:字母数字字符 (a-z, A-Z, 0-9)、下划线 (
_)、连字符 (-) 和正斜杠 (/) - 禁止的字符:不得包含空格、标点符号或其他特殊字符
- 起始字符:应以字母或数字开头,不应以下划线 (
_) 开头 - 区分大小写:数据库名称区分大小写
以下划线开头的名称保留供系统使用
以(_)下划线开头的名称可能保留供 InfluxDB 系统使用。虽然 InfluxDB 3 Core 可能不会明确拒绝这些名称,但使用它们存在与当前或未来系统功能冲突的风险,并可能导致意外行为或数据丢失。
有效的数据库名称示例
mydb
sensor_data
prod-metrics
logs/application
webserver123无效的数据库名称示例
my database # Contains whitespace
sensor.data # Contains period
app@server # Contains special character
_internal # Starts with underscore (reserved)
very_long_database_name_that_exceeds_sixty_four_character_limit # Too long有关所有 InfluxDB 标识符命名限制的全面信息,请参阅 命名限制和约定。
InfluxQL DBRP 命名约定
在 InfluxDB 1.x 中,数据存储在数据库和数据保留策略中。在 InfluxDB 3 Core 中,数据库和数据保留策略已合并为数据库,数据库具有数据保留期,但数据保留策略不再是数据模型的一部分。由于 InfluxQL 使用 1.x 数据模型,因此数据库必须映射到 v1 数据库和数据保留策略 (DBRP) 才能使用 InfluxQL 进行查询。
命名要用 InfluxQL 查询的数据库时,请使用以下命名约定自动将 v1 DBRP 组合映射到 InfluxDB 3 Core 数据库
database_name/retention_policy_name数据库命名示例
| v1 数据库名称 | v1 数据保留策略名称 | 新数据库名称 |
|---|---|---|
| db | rp | db/rp |
| telegraf | autogen | telegraf/autogen |
| webmetrics | 1w-downsampled | webmetrics/1w-downsampled |
数据库限制
最大数据库数量: 5
有关 InfluxDB 3 Core 数据库、表和列限制的更多信息,请参阅 数据库、表和列限制。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Core 和本文档提供反馈和错误报告。要获得支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。