玉貔貅

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

基础指令: 

influx 打开influxdb命令行控制工具。  显示当拥有哪些数据库 show databases    

 

转载地址:https://blog.csdn.net/qq_37674858/article/details/85759126

//***

备份

influxd backup -portable  -database  bstar ./

恢复

influxd.exe restore -portable -db bstar -newdb bstar ..\influxdbBackpu\temp

 

//***

I. 备份
备份命令

influxd backup
[ -database <db_name> ] --> 指定需要备份的数据库名
[ -portable ] --> 表示在线备份
[ -host <host:port> ] --> influxdb服务所在的机器,端口号默认为8088
[ -retention <rp_name> ] | [ -shard <shard_ID> -retention <rp_name> ] --> 备份的保留策略,注意shard是挂在rp下的;我们需要备份的就是shard中的数据
[ -start <timestamp> [ -end <timestamp> ] | -since <timestamp> ] --> 备份指定时间段的数据
<path-to-backup> --> 备份文件的输出地址
a. 备份所有的数据库

将influxdb中的所有的数据库都备份下来,不加任何的参数

influxd backup -portable /tmp/data/total
b. 备份指定数据库

如果只想要备份上面的yhhblog数据库, 添加 -database 参数指定即可

# influxd backup -portable -database yhhblog /tmp/data/yhhblog

2018/07/27 10:38:15 backing up metastore to /tmp/data/yhhblog/meta.00
2018/07/27 10:38:15 backing up db=yhhblog
2018/07/27 10:38:15 backing up db=yhhblog rp=autogen shard=10 to /tmp/data/yhhblog/yhhblog.autogen.00010.00 since 0001-01-01T00:00:00Z
2018/07/27 10:38:15 backup complete:
2018/07/27 10:38:15 /tmp/data/yhhblog/20180727T023815Z.meta
2018/07/27 10:38:15 /tmp/data/yhhblog/20180727T023815Z.s10.tar.gz
2018/07/27 10:38:15 /tmp/data/yhhblog/20180727T023815Z.manifest
c. 备份数据库中指定时间段的数据

对上面的数据,只备份部分时间满足要求的数据,可以添加start/end参数

# influxd backup -portable -database yhhblog -start 2018-07-27T2:31:57Z -end 2018-07-27T2:32:59Z /tmp/data/yhhblog_per

2018/07/27 10:42:14 backing up metastore to /tmp/data/yhhblog_per/meta.00
2018/07/27 10:42:14 backing up db=yhhblog
2018/07/27 10:42:14 backing up db=yhhblog rp=autogen shard=10 to /tmp/data/yhhblog_per/yhhblog.autogen.00010.00 with boundaries start=2018-07-27T02:31:57Z, end=2018-07-27T02:32:59Z
2018/07/27 10:42:14 backup complete:
2018/07/27 10:42:14 /tmp/data/yhhblog_per/20180727T024214Z.meta
2018/07/27 10:42:14 /tmp/data/yhhblog_per/20180727T024214Z.s10.tar.gz
2018/07/27 10:42:14 /tmp/data/yhhblog_per/20180727T024214Z.manifest
 

II. 恢复
命令如下

influxd restore
[ -db <db_name> ] --> 待恢复的数据库(备份中的数据库名)
-portable | -online
[ -host <host:port> ] --> influxdb 的服务器
[ -newdb <newdb_name> ] --> 恢复到influxdb中的数据库名
[ -rp <rp_name> ] --> 备份中的保留策略
[ -newrp <newrp_name> ] --> 恢复的保留策略
[ -shard <shard_ID> ]
<path-to-backup-files>
 

1. 恢复到不存在的database
下面演示下将前面的导出的备份,恢复到一个新的数据库 yhhblog_bk上,执行命令如下

influxd restore -portable -db yhhblog -newdb yhhblog_bk yhhblog_per
2. 恢复到存在的DB
看官网恢复的文档中,如果想将备份恢复到一个已经存在的database中时,并不是上面那么简单的就可以了,这里采用的一个策略是先备份到一个临时的db中;然后将临时DB中的数据写入已存在的db中

具体的演示步骤如下 (注意本小结的执行可以直接依赖前面恢复的备份数据库中)

将备份恢复到已经存在的数据库 yhhblogNew 中

# 首先是将备份恢复到一个不存在的数据库 yhhblog_bk 中
influxd restore -portable -db yhhblog -newdb yhhblog_bk yhhblog_per
进入 influx 控制台,执行拷贝和删除临时数据库

# 准备 yhhblogNew 数据库
> create database yhhblogNew

# 将临时数据库中的数据导入已存在的数据库中
> use yhhblog_bk
> SELECT * INTO yhhblogNew..:MEASUREMENT FROM /.*/ GROUP BY *
> drop yhhblog_bk
3. 保留策略已存在时,恢复
influxd restore -portable -db yhhblog -newdb yhhblog_tmp -rp autogen -newrp autogen_tmp yhhblog
进入influx控制台,执行拷贝

> user yhhblog_tmp
> SELECT * INTO yhhblogNew.autogen.:MEASUREMENT FROM /yhhblog_tmp.autogen_tmp.*/ GROUP BY *
> drop database yhhblog_tmp
 
---------------------
作者:周子青
来源:CSDN
原文:https://blog.csdn.net/qq_37674858/article/details/85759126
版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

 

新版本恢复元数据不可用: 下方

转载:https://www.linuxdaxue.com/influxdb-backup-and-restore.html

InfluxDB提供了数据的备份和恢复方法,在实际工作中,可以通过这些方法来实现数据的高可用。

本文就为大家介绍下InfluxDB的本地数据备份恢复和远程备份恢复。

更多InfluxDB技术请加入《InfluxDB技术交流群:580487672(点击加入)

本地备份

1、备份元数据

influxDB本地备份元数据的语法如下,这只会备份InfluxDB的的internal库数据,包含那些最基本的系统信息、用户信息等。

influxd backup <path-to-backup>

示例:

$ influxd backup /tmp/backup
2016/02/01 17:15:03 backing up metastore to /tmp/backup/meta.00
2016/02/01 17:15:03 backup complete

2、备份数据库

可以通过 -database 参数来指定备份的数据库。

语法:

influxd backup -database <mydatabase> <path-to-backup>

其他可选参数:

-retention <retention policy name>
-shard <shard ID>
-since <date>

注:日期为RFC3339 格式,例如:2015-12-24T08:12:23Z

示例:

$ influxd backup -database telegraf -retention autogen -since 2016-02-01T00:00:00Z /tmp/backup
2016/02/01 18:02:36 backing up rp=default since 2016-02-01 00:00:00 +0000 UTC
2016/02/01 18:02:36 backing up metastore to /tmp/backup/meta.01
2016/02/01 18:02:36 backing up db=telegraf rp=default shard=2 to /tmp/backup/telegraf.default.00002.01 since 2016-02-01 00:00:00 +0000 UTC
2016/02/01 18:02:36 backup complete

远程备份

InfluxDB可以使用 -host 参数实现数据的远程备份,端口一般是8088

示例:

$ influxd backup -database mydatabase -host 10.0.0.1:8088 /tmp/mysnapshot

注,上文所有参数在远程备份中均可使用。

数据恢复

语法:

influxd restore [ -metadir | -datadir ] <path-to-meta-or-data-directory> <path-to-backup>

必要参数:

-metadir <path-to-meta-directory>
或
-datadir <path-to-data-directory>

可选参数:

-database <database>
-retention <retention policy>
-shard <shard id>

示例,恢复数据库:

$ influxd restore -database telegraf -datadir /var/lib/influxdb/data /tmp/backup                                                                         
Restoring from backup /tmp/backup/telegraf.*
unpacking /var/lib/influxdb/data/telegraf/default/2/000000004-000000003.tsm
unpacking /var/lib/influxdb/data/telegraf/default/2/000000005-000000001.tsm
posted on 2019-06-28 10:23  玉貔貅  阅读(2417)  评论(0编辑  收藏  举报