导入 InfluxDB 备份时遇到问题

Having trouble importing InfluxDB backup

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

我尝试做的是使用 Chronograf 及其 "Write Data" 功能来导入备份内容,因为它支持 .gz 文件,但 Chronograf 似乎只支持最大 25MB 的文件我的这个备份是 70MB。 我在 "Docker Influx Documentation" and "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。

我想通了:

  1. 使用以下命令将您想要的备份文件从您的主机复制到您的容器:docker cp LOCAL_FILE CONTAINER_NAME:/etc/NEW_FILE 其中 LOCAL_FILE 是您主机上要复制的文件,CONTAINER_NAME 是您的 docker 容器的名称,/etc/ 是默认且已经存在的目录,而 NEW_FILE 只是将要获取 LOCAL_FILE.

  2. 使用以下命令进入 Docker 容器文件系统:docker exec -it CONTAINER_NAME /bin/bash 并导航到您复制 NEW_FILE.

    [=31= 的位置]
  3. 创建一个新文件夹(为了清楚起见,将其命名为"backup")并将NEW_FILE的内容提取到其中。

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

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