SHOW RETENTION POLICIES ON db 命令显示过期策略
> SHOW RETENTION POLICIES ON dbname
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 168h0m0s 24h0m0s 1 true
duration代表多少时间后过期
shardGroupDuration 代表的是多长时间的数据放在同一个数据文件中
实际过期是按照数据文件为单位过期的, 比如上面的配置下一个数据文件中会含有2018-1-1 0:0:0 ~ 2018-1-1 23:59:59的数据,这个时间文件的过期时间就为2018-1-1 23:59:59+168h
所以shardGroupDuration不应该设置的太大,太小可能会影响性能
show shards 命令显示当前是所有shared数据文件和他们的过期时间
> show shards
name: _internal
id database retention_policy shard_group start_time end_time expiry_time owners
-- -------- ---------------- ----------- ---------- -------- ----------- ------
6 _internal monitor 6 2018-05-19T00:00:00Z 2018-05-20T00:00:00Z 2018-05-27T00:00:00Z
7 _internal monitor 7 2018-05-20T00:00:00Z 2018-05-21T00:00:00Z 2018-05-28T00:00:00Z
8 _internal monitor 8 2018-05-21T00:00:00Z 2018-05-22T00:00:00Z 2018-05-29T00:00:00Z
10 _internal monitor 10 2018-05-22T00:00:00Z 2018-05-23T00:00:00Z 2018-05-30T00:00:00Z
11 _internal monitor 11 2018-05-23T00:00:00Z 2018-05-24T00:00:00Z 2018-05-31T00:00:00Z
14 _internal monitor 14 2018-05-24T00:00:00Z 2018-05-25T00:00:00Z 2018-06-01T00:00:00Z
15 _internal monitor 15 2018-05-25T00:00:00Z 2018-05-26T00:00:00Z 2018-06-02T00:00:00Z
16 _internal monitor 16 2018-05-26T00:00:00Z 2018-05-27T00:00:00Z 2018-06-03T00:00:00Z
name: test
id database retention_policy shard_group start_time end_time expiry_time owners
-- -------- ---------------- ----------- ---------- -------- ----------- ------
3 test autogen 3 2018-05-14T00:00:00Z 2018-05-21T00:00:00Z 2018-05-28T00:00:00Z
9 test autogen 9 2018-05-21T00:00:00Z 2018-05-28T00:00:00Z 2018-06-04T00:00:00Z
13 test autogen 13 2050-01-24T00:00:00Z 2050-01-31T00:00:00Z 2050-02-07T00:00:00Z
12 test autogen 12 2262-04-07T00:00:00Z 2262-04-11T23:47:16Z 2262-04-18T23:47:16Z
可以看到过期时间为end_time+duration
修改过期策略
ALTER RETENTION POLICY “autogen” ON db DURATION 15d REPLICATION 1 SHARD DURATION 1d DEFAULT
注意: 修改的策略只会影响新创建的share
创建过期策略
CREATE RETENTION POLICY “one_day_only” ON “NOAA_water_database” DURATION 23h60m REPLICATION 1 DEFAULT
注意:新创建了一个默认策略后所有的查询和插入默认是操作的新策略下的数据, 如果不指定策略查询会查询不到老数据
官方介绍 https://docs.influxdata.com/influxdb/v0.13/troubleshooting/frequently_encountered_issues/#missing-data-after-creating-a-new-default-retention-policy
电脑异常重启后meta文件损坏恢复
先从文件导出数据
influx_inspect export -datadir /data/data/influxdb2/data/ -waldir /data/data/influxdb2/wal/ -database xxx -out /home/temp/xxx.dmp
然后把清空 /data/data/influxdb
重启influx,数据库倍清空
inlux命令连接数据库
CREATE USER test WITH PASSWORD 'test' WITH ALL PRIVILEGES
退出inlux
influx -username 'xxx' -password 'xxx' -database 'xx' -import -path /home/temp/xxx.dmp