基础指令:
influx 打开influxdb命令行控制工具。 显示当拥有哪些数据库 show databases
转载地址:
//***
备份
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=yhhblog2018/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:00Z2018/07/27 10:38:15 backup complete:2018/07/27 10:38:15 /tmp/data/yhhblog/20180727T023815Z.meta2018/07/27 10:38:15 /tmp/data/yhhblog/20180727T023815Z.s10.tar.gz2018/07/27 10:38:15 /tmp/data/yhhblog/20180727T023815Z.manifestc. 备份数据库中指定时间段的数据对上面的数据,只备份部分时间满足要求的数据,可以添加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=yhhblog2018/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:59Z2018/07/27 10:42:14 backup complete:2018/07/27 10:42:14 /tmp/data/yhhblog_per/20180727T024214Z.meta2018/07/27 10:42:14 /tmp/data/yhhblog_per/20180727T024214Z.s10.tar.gz2018/07/27 10:42:14 /tmp/data/yhhblog_per/20180727T024214Z.manifestII. 恢复
命令如下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_bk3. 保留策略已存在时,恢复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 版权声明:本文为博主原创文章,转载请附上博文链接!
新版本恢复元数据不可用: 下方
转载:
InfluxDB提供了数据的备份和恢复方法,在实际工作中,可以通过这些方法来实现数据的高可用。
本文就为大家介绍下InfluxDB的本地数据备份恢复和远程备份恢复。
更多InfluxDB技术请加入《InfluxDB技术交流群:》
本地备份
1、备份元数据
influxDB本地备份元数据的语法如下,这只会备份InfluxDB的的internal库数据,包含那些最基本的系统信息、用户信息等。
influxd backup
示例:
$ influxd backup /tmp/backup2016/02/01 17:15:03 backing up metastore to /tmp/backup/meta.002016/02/01 17:15:03 backup complete
2、备份数据库
可以通过 -database 参数来指定备份的数据库。
语法:
influxd backup -database
其他可选参数:
-retention-shard -since
注:日期为 格式,例如:2015-12-24T08:12:23Z
示例:
$ influxd backup -database telegraf -retention autogen -since 2016-02-01T00:00:00Z /tmp/backup2016/02/01 18:02:36 backing up rp=default since 2016-02-01 00:00:00 +0000 UTC2016/02/01 18:02:36 backing up metastore to /tmp/backup/meta.012016/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 UTC2016/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 ]
必要参数:
-metadir或-datadir
可选参数:
-database-retention -shard
示例,恢复数据库:
$ 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.tsmunpacking /var/lib/influxdb/data/telegraf/default/2/000000005-000000001.tsm