zoukankan      html  css  js  c++  java
  • influxDb数据备份

    基础指令: 

    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 emp

    //***

    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
    时光如白驹过隙,匆匆而已。
  • 相关阅读:
    static的全部用法收集整理
    文思创新复试及一些自己的思考
    “一碗牛肉面”引发的管理难题
    信必优面试实录
    我做PM(项目经理)这段时间...
    什么是面向对象?
    沟通
    体会Bind和Eval的不同用法
    北京艾德思奇科技有限公司面试实录
    今天去sony公司面试实录
  • 原文地址:https://www.cnblogs.com/yupixiu/p/11101284.html
Copyright © 2011-2022 走看看