InfluxDB2的数据备份与恢复

肖卓2022年9月30日
大约 4 分钟

InfluxDB2的数据备份与恢复

此操作版本为InfluxDB版本为v2.7.0,操作方式和命令与1.x和2.0都有区别,请核对版本后再进行操作

1.安装influx CLI

官网:Install the influx CLIopen in new window

# 下载安装包,以下命令根据CPU二选一
# amd64
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-linux-amd64.tar.gz
# arm
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-linux-arm64.tar.gz

# 解压安装包,以下命令根据CPU二选一
# amd64
tar xvzf path/to/influxdb2-client-2.7.3-linux-amd64.tar.gz
# arm
tar xvzf path/to/influxdb2-client-2.7.3-linux-arm64.tar.gz

# 将未打包的influx可支持文件放入系统目录,以下命令根据CPU二选一
# amd64
sudo cp influxdb2-client-2.7.3-linux-amd64/influx /usr/local/bin/
# arm
sudo cp influxdb2-client-2.7.3-linux-arm64/influx /usr/local/bin/



实际操作执行结果

baroot@hcss-ecs-a9d1:/usr/local/src/influx_back# wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-linux-amd64.tar.gz
--2023-10-12 09:38:32--  https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.7.3-linux-amd64.tar.gz
Resolving dl.influxdata.com (dl.influxdata.com)... 18.244.214.54, 18.244.214.38, 18.244.214.89, ...
Connecting to dl.influxdata.com (dl.influxdata.com)|18.244.214.54|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11454321 (11M) [application/x-tar]
Saving to: ‘influxdb2-client-2.7.3-linux-amd64.tar.gz’

influxdb2-client-2.7.3-linux-amd64.tar.gz                          100%[================================================================================================================================================================>]  10.92M  2.39MB/s    in 4.6s    

2023-10-12 09:38:37 (2.39 MB/s) - ‘influxdb2-client-2.7.3-linux-amd64.tar.gz’ saved [11454321/11454321]
root@hcss-ecs-a9d1:/usr/local/src/influx_back# ls
influxdb2-client-2.7.3-linux-amd64.tar.gz
# 解压文件根据文件实际存放路径进行解压
root@hcss-ecs-a9d1:/usr/local/src/influx_back# tar xvzf influxdb2-client-2.7.3-linux-amd64.tar.gz 
./
./LICENSE
./README.md
./influx
root@hcss-ecs-a9d1:/usr/local/src/influx_back# ls
influx  influxdb2-client-2.7.3-linux-amd64.tar.gz  LICENSE  README.md
root@hcss-ecs-a9d1:/usr/local/src/influx_back# cd influx
bash: cd: influx: Not a directory
root@hcss-ecs-a9d1:/usr/local/src/influx_back# ll
total 35856
drwx------ 2 root root     4096 Apr 28 22:25 ./
drwxr-xr-x 3 root root     4096 Oct 11 16:28 ../
-rwxr-xr-x 1 root root 25240165 Apr 28 22:25 influx*
-rw-r--r-- 1 root root 11454321 Apr 28 22:27 influxdb2-client-2.7.3-linux-amd64.tar.gz
-rw-r--r-- 1 root root     1067 Apr 28 22:25 LICENSE
-rw-r--r-- 1 root root     2196 Apr 28 22:25 README.md
root@hcss-ecs-a9d1:/usr/local/src/influx_back# sudo cp influx /usr/local/bin
# 此处注意,如果将可执行文件添加到系统中提示还是无法执行,根据系统提示添加到系统的可执行文件目录
root@hcss-ecs-a9d1:/usr/local/src/influx_back# influx
bash: /usr/bin/influx: No such file or directory
root@hcss-ecs-a9d1:/usr/local/src/influx_back# sudo cp influx /usr/bin

2.备份数据库

官网:在 InfluxDB 中备份数据 |InfluxDB OSS v2 文档 (influxdata.com)open in new window

备份命令:

# influx backup [备份路径] -t [数据库token]
influx backup /usr/local/src/influx_backup -t Y9bgC1gdlPZsCjE_o7N9bXZRBl2VAXy8pr0CRXiz7wCSZ1y70Crv27AIU3kAee402Y_VlSctWEvN_e1xeR3hw==

实际执行操作结果

# 要加token不然会报401错误,token在创建账号的时候会生成
root@hcss-ecs-a9d1:/usr/local/src/influx_backup# influx backup /usr/local/src/influx_backup
2023/10/12 10:02:55 INFO: Downloading metadata snapshot
Error: failed to backup metadata: failed to download metadata snapshot: 401 Unauthorized: unauthorized access
root@hcss-ecs-a9d1:/usr/local/src/influx_backup# influx backup /usr/local/src/influx_backup -t Y9bgC1gdlPZsCjE_o7N9bXZRBl2VAXy8pr0CRXiz7wCSZ1y70Crv27AIU3kAee402Y_VlSctWEvN_e1xeR3hw==
2023/10/12 10:03:50 INFO: Downloading metadata snapshot
2023/10/12 10:03:50 INFO: Backing up TSM for shard 1
2023/10/12 10:04:17 INFO: Backing up TSM for shard 2
2023/10/12 10:05:19 INFO: Backing up TSM for shard 3
root@hcss-ecs-a9d1:/usr/local/src/influx_backup# ls
20231012T020350Z.1.tar.gz  20231012T020350Z.2.tar.gz  20231012T020350Z.3.tar.gz  20231012T020350Z.bolt.gz  20231012T020350Z.manifest  20231012T020350Z.sqlite.gz

3.数据恢复

官方网站:在 InfluxDB 中恢复数据 |InfluxDB OSS v2 文档 (influxdata.com)open in new window

influx restore /usr/local/src/influx_backup/
root@VM-4-13-ubuntu:/usr/local/src/influx# influx restore /usr/local/src/influx_backup/
# 因为修改了系统的端口,所以连接时报错,需要更改influx的配置
Error: API compatibility check failed: Get "http://localhost:8086/health": dial tcp 127.0.0.1:8086: connect: connection refused
root@VM-4-13-ubuntu:/usr/local/src/influx# influx config create \
>   -n config-name \
>   -u http://localhost:8090 \
>   -p 账号:密码 \
>   -o 组织
Active  Name            URL                     Org
        config-name     http://localhost:8090   whut
# 修改完配置后重新执行恢复,这样恢复的有些数据还是没查询到
root@VM-4-13-ubuntu:/usr/local/src/influx# influx restore /usr/local/src/influx_backup/
2023/10/12 11:12:15 INFO: Restoring bucket "9abe804d24024bba" as "zncb"
2023/10/12 11:12:15 INFO: Restoring TSM snapshot for shard 1
2023/10/12 11:12:19 INFO: Restoring TSM snapshot for shard 2
2023/10/12 11:12:29 INFO: Restoring TSM snapshot for shard 3
# 再次使用命令全局恢复
root@VM-4-13-ubuntu:/usr/local/src/influx# influx restore /usr/local/src/influx_backup/ --full
2023/10/12 11:16:36 INFO: Restoring KV snapshot
2023/10/12 11:16:40 WARN: Restoring KV snapshot overwrote the operator token, ensure following commands use the correct token
2023/10/12 11:16:40 INFO: Restoring SQL snapshot
2023/10/12 11:16:40 INFO: Restoring TSM snapshot for shard 1
2023/10/12 11:16:44 INFO: Restoring TSM snapshot for shard 2
2023/10/12 11:16:54 INFO: Restoring TSM snapshot for shard 3
上次编辑于: 2023/11/28 14:02:10
贡献者: 肖桌
评论
Powered by Waline v2.5.1