导入InfluxDB备份时遇到问题

时间:2019-09-16 09:09:56

标签: database docker backup influxdb chronograf

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

我试图做的是使用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上。

1 个答案:

答案 0 :(得分:0)

我知道了:

  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. 新建一个文件夹(为了清楚起见,将其命名为“ backup”),然后将NEW_FILE的内容提取到其中。

  4. 通过以下方式将备份恢复到新数据库:influxd restore -portable -newdb NEW_DATABASE_NAME backup

有关最后一步的其他选择,请转到the documentation here