【问题标题】:Having trouble importing InfluxDB backup导入 InfluxDB 备份时遇到问题
【发布时间】:2020-01-17 02:26:27
【问题描述】:

我最近从 docker 容器备份了我的 Influx 数据库,现在有一个 .tar.gz 格式的备份文件。我想将此文件中的数据导入另一个 Influx 数据库,该数据库也在 docker 容器内运行。

我尝试使用 Chronograf 及其“写入数据”功能导入备份的内容,因为它支持 .gz 文件,但似乎 Chronograf 仅支持最大 25MB 的文件和此备份我的是70MB。 我在"Docker Influx Documentation""InfluxDB Shell Documentation" 中搜索了其他可能的方法来解决这个问题。我发现唯一相关的是 Shell 文档中引用的“-import”选项。我尝试使用它但无济于事。任何不是 InfluxDB shell 中直接查询的命令都被拒绝,我得到的只是一条错误消息:ERR: error parsing query: found influx, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1

明确一点,我目前使用的是 Windows 10。

【问题讨论】:

    标签: database docker backup influxdb chronograf


    【解决方案1】:

    我想通了:

    1. 将所需的备份文件从主机复制到容器:docker cp LOCAL_FILE CONTAINER_NAME:/etc/NEW_FILE 其中 LOCAL_FILE 是主机上要复制的文件,CONTAINER_NAME 是 docker 容器的名称,/etc/是一个默认且已经存在的目录,NEW_FILE 只是将要获取 LOCAL_FILE 数据的文件的名称。

    2. 使用:docker exec -it CONTAINER_NAME /bin/bash 进入您的 Docker 容器文件系统并导航到您复制 NEW_FILE 的位置。

    3. 创建一个新文件夹(为清楚起见将其命名为“备份”)并将 NEW_FILE 的内容提取到其中。

    4. 将备份还原到新数据库:influxd restore -portable -newdb NEW_DATABASE_NAME backup

    对于最后一步中的任何替代选项,请转到the documentation here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 2012-01-07
      相关资源
      最近更新 更多