TL;DR InfluxDB 技术技巧 - 在 CLI 中查询和写入保留策略以及保护 InfluxDB
由 Regan Kuchan / 产品,开发者
2017年2月2日
导航到
在本周的最新帖子中,我们回顾了您可能在上周错过的一些最有意思的 InfluxDB 和 TICK-stack 相关问题、解决方案、教程和问答,这些问题来自 GitHub、IRC 和 InfluxDB Google Group。
在 CLI 中查询保留策略
问:我正在尝试查询数据库默认的 保留策略 中的数据,但我得到了一个意外的错误信息。错误信息说它找不到一个根本不存在的相关数据库中的保留策略(见下文)。我以为 命令行界面 (CLI) 会自动查询数据库的默认保留策略。您有什么建议吗?
> USE "groundhog" Using database groundhog > SELECT * FROM "shadow" ERR: retention policy not found: one_day > SHOW RETENTION POLICIES ON "groundhog" name duration shardGroupDuration replicaN default ---- -------- ------------------ -------- ------- autogen 0s 168h0m0s 1 false season 24h0m0s 1h0m0s 1 true
答:查看那个输出,我最好的猜测是您在之前的命令中设置了目标保留策略(也许您做了类似 USE "<different_database>"."one_day"
的操作)。您可以使用 CLI 的 CLEAR
命令 清除该保留策略(下面是示例)。CLEAR
是 InfluxDB CLI 中 1.2 版本的新命令。
> CLEAR rp retention policy context cleared > SELECT * FROM "shadow" name: shadow time seen ---- ---- 2017-01-31T17:09:43Z true
在 CLI 中写入保留策略
问:我刚刚升级到 1.2 版本,注意到了 InfluxDB CLI 行为的变化,想知道这个变化是故意的吗。
在之前的版本中,当我在 INSERT INTO my-retention-policy
命令中写入时,后续的每个写入都会进入该 保留策略,即使我没有包括 INTO
子句。现在 INSERT INTO
命令似乎不会为每个后续写入设置保留策略。这个变化是故意的吗?有没有办法绕过每次写入非默认保留策略时都必须写入 INSERT INTO my-retention-policy
的需求?
答:这个 变化 是故意的!1.2 版本引入了新的语法,可以更清晰地设置目标保留策略:USE "<database>"."<retention_policy>"
。您可以使用 SETTINGS
命令 检查当前的目标数据库和保留策略。
> USE "groundhog"."season" Using database groundhog Using retention policy season > SETTINGS Setting Value -------- -------- Host localhost:8086 Username gopher Database groundhog RetentionPolicy season Pretty false Format column Write Consistency all
保护 InfluxDB
问:我最近开始使用InfluxDB。您有什么建议来确保我的数据安全吗?
答:有的!如果您计划将InfluxDB安装在具有公共互联网访问的地方,我们建议您查看我们的安全最佳实践页面。它列出了您需要采取的步骤来保护您的数据库,并链接到任何相关文档。
下一步是什么
- 下载我们的TICK-stack下载已经在“下载”页面上线。
- 云上部署:开始使用InfluxDB云服务的免费试用版,它提供完全管理的集群、Kapacitor和Grafana。
- 服务器部署:想在您的服务器上运行InfluxDB集群?试试InfluxDB企业版的14天免费试用版,它具有直观的用户界面,用于部署、监控和平衡集群,以及管理备份和恢复。
- 分享您的故事:超过300家公司分享了他们的故事,讲述了InfluxDB如何帮助他们取得成功。提交您的评价,并获得一款限量版卫衣作为感谢。