influxdb基础(五)

您所在的位置:网站首页 华为从云备份恢复微信没速度 influxdb基础(五)

influxdb基础(五)

2024-05-27 22:35| 来源: 网络整理| 查看: 265

文章目录 一、前言 二、备份和恢复元数据 1、备份元数据 2、恢复元数据 三、备份和恢复DB数据 1、备份DB数据 2、恢复DB数据 四、总结

一、前言

influxdb中有两种数据可以备份,一种是元数据meta,一种是db数据。meta元数据的备份是整个备份,不能拆分,而db数据的备份,可完整备份,也可为某个数据库或某个数据库的保留策略甚至为某个shard的数据备份,也可增量备份即备份一段时间范围内的数据。

二、备份和恢复元数据

元数据包含系统状态的内部信息,包括用户信息、数据库/分片元数据、CQs、RPs和订阅等。其只能一整个备份,不能拆分,恢复时也是一整个恢复,实际生产中需要注意恢复备份元数据会覆盖旧元数据,谨慎操作。

1、备份元数据

基本语法:

influxd backup 1

备份元数据,没有任何其他参数,备份将只转移当前状态的系统元数据到path-to-backup。path-to-backup为备份保存的目录,不存在会自动创建。

示例:

#将元数据备份到 ~/tmp/influx_backup_meta/ influxd backup ~/tmp/influx_backup_meta/ 1 2

backup

2、恢复元数据

基本语法:

influxd restore -metadir 1

示例:

为了展示备份和恢复元数据的效果,当备份元数据成功后,从/var/lib/influxdb/ 目录下删除meta目录,即rm -rf /var/lib/influxdb/meta,然后重启influxdb,service influxdb restart。此时再数据influx连接客户端,验证用户名密码,查看databases时报了没有权限: 在这里插入图片描述

说明元数据删除了,接下来恢复之前备份的元数据:

# 转移tmp/influx_backup_meta下的备份数据到元数据原来的目录 #`-metadir` 原来元数据的路径 influxd restore -metadir /var/lib/influxdb/meta/ tmp/influx_backup_meta 1 2 3

重启influxdb,再次连接influx客户端,发现可以验证权限,并查看databses、measurements等元数据。

三、备份和恢复DB数据

备份DB数据是包含元数据的。

1、备份DB数据

基本语法:

通过influxd backup -h查看backup有哪些可选参数。 在这里插入图片描述

Usage: influxd backup [options] PATH -portable # 在线备份,必选 -host # 需要备份的influxdb服务机器地址,可选,Defaults to 127.0.0.1:8088. -db # 需要备份的db名称,可选,若没有指定,将备份所有数据库 -rp # 备份某个保留策略的数据,未指定,则备份所有rp的数据。 -shard # 需要备份的shard id,可选,若指定了备份shard,必须先选择rp -start # 需要备份的数据的起始时间,timestamp (RFC3339 format). 不能和-since一起使用 -end # 需要备份的数据的结束时间,timestamp (RFC3339 format). 不能和-since一起使用 -since # 备份这个timestamp之后的数据,建议用-start 代替 -skip-errors # 可选,当备份shards时,跳过备份失败的shard,继续备份其他shard。 1 2 3 4 5 6 7 8 9 10

此时influxdb中有数据库monitor。 在这里插入图片描述

示例1:

备份monitor库的所有数据。

influxd backup -portable -db monitor ~/tmp/influx_backup/ 1

在这里插入图片描述 可以看到命令执行的过程中备份了元数据,两个shard为28、29的数据,34和35 没有数据不备份。

示例2:

备份monitor库昨天的数据。

需要注意填写的时间需要是RFC3339格式。

influxd backup -portable -db monitor -start 2020-11-01T13:24:52.085243953Z -end 2020-11-02T13:24:52.085243953Z ~/tmp/influx_backup_yesterday/ 1

在这里插入图片描述

示例3:

只备份monitor的shard=28的数据。

influxd backup -portable -db monitor -rp rp_3_days -shard 28 ~/tmp/influx_backup_28/ 1

在这里插入图片描述

2、恢复DB数据

influxd restore -h查看restore可选参数:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1cDAdrej-1604415145939)(C:\Users\stefan\AppData\Roaming\Typora\typora-user-images\image-20201102235253418.png)]

Usage: influxd restore -portable [options] PATH Options: -portable # -host -db # 从备份数据的哪个库恢复数据Name of database to be restored from the backup -newdb # 数据恢复到新库名称,若没有指定,选择-db 的名称。newdb必须不存在,恢复时会自动创建 -rp # 从备份数据的哪个rp恢复数据,指定了-rp,必须指定-db -newrp #恢复数据新的rp名称,newrp必须存在。指定了-rp,未指定-newrp则使用-rp -shard # 需要恢复的shard,如果指定了'-db ' and '-rp ',必须-shard PATH #备份数据文件list 1 2 3 4 5 6 7 8 9 10 11 12

示例1:

恢复~/tmp/influx_backup/下monitor库数据到新库new_monitor。

influxd restore -portable -db monitor -newdb new_monitor ~/tmp/influx_backup/ 1

在这里插入图片描述

示例2:

恢复~/tmp/influx_backup/下monitor库,rp为rp_3_days数据到新库new_monitor1。

influxd restore -portable -db monitor -rp rp_3_days -newdb new_monitor1 ~/tmp/influx_backup/ 1

在这里插入图片描述

示例3:

恢复~/tmp/influx_backup/下monitor库,rp为rp_30_days,shard为29的数据到新库new_monitor1,并重命名rp的名称为rp_30days。

influxd restore -portable -db monitor -rp rp_30_days -shard 29 -newdb new_monitor2 -newrp rp_04_days ~/tmp/influx_backup/ 1

经测试,恢复数据不能指定新的rp,不能恢复到已经存在的数据库。如真有这样的需求,可以先将数据恢复到一个临时不存在的库,然后通过insert into将数据迁移到已经存在的库,最后删除临时库。

四、总结 influxdb中可备份的数据有两种,一种是元数据meta,一种是db数据。 记不住参数可通过influxd backup -h 、influxd restore -h查看参数。 恢复数据不能修改旧数据的保留策略。 恢复数据只能恢复到不存在的库,无法恢复到已经存在的库。

PS: 如若文章中有错误理解,欢迎批评指正,同时非常期待你的评论、点赞和收藏。我是徐同学,愿与你共同进步!

参考:

官方文档:https://docs.influxdata.com/influxdb/v1.4/administration/backup_and_restore/

文章来源: blog.csdn.net,作者:徐同学呀,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_36586120/article/details/109481345



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3