数据库备份和恢复

一、influxdb2.0以后

1、influxdb导出

./influx backup \
  /home/backup/backup_$(date '+%Y-%m-%d_%H-%M') \
  --host http://xxx.xxx.xxx.xxx:xxxx \
  --org orgName --bucket bucketName \
  -t tokenwaijhgfiouawhguhwauherwjnawe23q-050-9qjksojogiajwi
  
--host:ip及influxdb端口
--org:influxdb的org
--backet: influxdb的bucket相当于mysql的库概念
-t :influxdb的token

 这就是导出的数据,分成很多个压缩文件,manifest就是它们的“目录列表”供influxdb读取并按照顺序导入

2、influexdb导入

./influx restore \ /home/backup/backup_2022-12-07_xx-xx \
  --host http://xxx.xxx.xxx.xxx:xxxx \
  --org orgName --bucket bucketName \
  --new-bucket bucketName \
  -t tokenwaijhgfiouawhguhwauherwjnawe23q-050-9qjksojogiajw

--new-bucket:新建一个bgcket来导入备份的数据 后跟新bugcket名

 

二、MySQL5.7

1、MySQL全备导出

mysqldump -h 127.0.0.1 -P 3307  -A  --flush-privileges --single-transaction -p1ee7eb5f-83e4-44f7-9934-01ca1555626f > /opt/29backup.sql

 2、Mysql数据恢复

mysql> source /opt/29backup.sql

三、redis

参考:https://pythonjishu.com/otgccgoxuuyydrt/

redis默认rdb方式

 

rdb方式:

执行 SAVE 或 BGSAVE 命令,将 Redis 的内存数据保存到磁盘上。生成/var/lib/redis/dump.rdb(配置文件默认文件名)

redis> bgsave
cp /var/lib/redis/dump.rdb /backup/redis

恢复,把dump.rdb放到redis的数据目录(/var/lib/redis/),执行以下命令来恢复数据:这个命令将使用指定的Redis模块加载持久化文件,并将数据恢复到Redis服务器中。

cp /backup/redis/dump.rdb /var/lib/redis
redis-server --loadmodule /usr/lib/redis/modules/rdb.so --dir /var/lib/redis --dbfilename dump.rdb

aof方式:

# 备份数据
redis> BGREWRITEAOF
cp /var/lib/redis/appendonly.aof /backup/redis/
# 恢复数据
cp /backup/redis/appendonly.aof /var/lib/redis/
redis-server --loadmodule /usr/lib/redis/modules/redisearch.so --appendonly yes
redis-check-aof /var/lib/redis/appendonly.aof

这个命令将使用指定的Redis模块加载AOF文件,并启动Redis服务器以恢复数据。执行 redis-check-aof 命令检查 AOF 文件的完整性,重启 Redis 服务,Redis 会自动加载 AOF 文件并恢复数据。

四、MongoDB

mongodb有两款备份恢复工具,分别是

    • mongoexport/mongoimport
      导入/导出的是JSON格式或者CSV格式
    • mongodump/mongorestore
      导入/导出的是BSON格式。

两种格式区别:

JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。

    • json的优劣:
      JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。

    • bson的优劣
      BSON格式可能会随mongodb版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功
      当无法使用BSON进行跨版本的数据迁移的时候,可使用JSON格式

BSON方式:

备份所有数据

mongodump --host <hostname> --port <port> --username <username> --password <password> --out <backup_directory>

 

恢复

mongorestore --host <hostname> --port <port> --username <username> --password <password> <backup_directory>

 

posted @ 2023-07-14 17:08  苦逼yw  阅读(117)  评论(0)    收藏  举报