mysql&elasticsearch备份恢复

目录

[1. mysql备份](#1. mysql备份)

[1.1. 使用 mysqldump 命令备份整个数据库:](#1.1. 使用 mysqldump 命令备份整个数据库:)

[1.2. 备份特定表:](#1.2. 备份特定表:)

[2. 恢复 MySQL 数据库](#2. 恢复 MySQL 数据库)

[2.1. 使用备份文件恢复数据库:](#2.1. 使用备份文件恢复数据库:)

[3. 备份elasticsearch索引](#3. 备份elasticsearch索引)

[3.1. 注册本次备份的存储路径](#3.1. 注册本次备份的存储路径)

[3.2. 查看当前备份快照信息](#3.2. 查看当前备份快照信息)

[3.3. 备份索引数据](#3.3. 备份索引数据)

[4. 恢复elasticsearch索引](#4. 恢复elasticsearch索引)

[4.1. 恢复索引数据](#4.1. 恢复索引数据)


1. mysql备份

1.1. 使用 mysqldump 命令备份整个数据库:

复制代码
mysqldump -u [username] -p[mysql_pass] [database_name] > [backup_file].sql
  • [username] 是您连接到 MySQL 数据库的用户名。
  • [mysql_pass] 是您连接到 MySQL 数据库的密码。
  • [database_name] 是要备份的数据库名称。
  • [backup_file] 是您要保存备份的文件名。

1.2. 备份特定表:

复制代码
mysqldump -u [username] -p[mysql_pass] [database_name] [table_name] > [backup_file].sql
  • [username] 是您连接到 MySQL 数据库的用户名。
  • [mysql_pass] 是您连接到 MySQL 数据库的密码。
  • [database_name] 是要备份的数据库名称。
  • [table_name] 是要备份的数据库的表名。
  • [backup_file] 是您要保存备份的文件名。

2. 恢复 MySQL 数据库

2.1. 使用备份文件恢复数据库

复制代码
mysql -u [username] -p[mysql_pass] [database_name] < [backup_file].sql
  • [username] 是您连接到 MySQL 数据库的用户名。
  • [mysql_pass] 是您连接到 MySQL 数据库的密码。
  • [database_name] 是要备份的数据库名称。
  • [backup_file] 是您要保存备份的文件名。

**备注:**mysql恢复前先删除对应表,如果默认数据在组件缓存中,需要重启对应服务

3. 备份elasticsearch索引

3.1. 注册本次备份的存储路径

复制代码
curl -XPOST "http://${es_ip}:${es_port}/_snapshot/ecopherebbs" -H  'Content-Type: application/json' -d '{ "type": "fs",  "settings": { "location": "'${backup_path}'/snapshot_'${day}'"}}'
  • [es_ip] 是您连接到 elasticsearch数据库的ip。
  • [es_port] 是您连接到 elasticsearch数据库的端口。
  • [backup_path] 是要备份的路径。
  • [day] 是备份路径变量名称。

3.2. 查看当前备份快照信息

复制代码
curl -XGET "http://${es_ip}:${es_port}/_snapshot/ecopherebbs/_all"  
  • [es_ip] 是您连接到 elasticsearch数据库的ip。
  • [es_port] 是您连接到 elasticsearch数据库的端口。

3.3. 备份索引数据

复制代码
curl -XPUT "http://${es_ip}:${es_port}/_snapshot/ecopherebbs/snapshot_${day}?wait_for_completion=true" -H  'Content-Type: application/json' -d '{"indices": "'${indices}'","ignore_unavailable": true,"include_global_state": true}}'
  • [es_ip] 是您连接到 elasticsearch数据库的ip。
  • [es_port] 是您连接到 elasticsearch数据库的端口。
  • [backup_path] 是要备份的路径。
  • [day] 是备份路径变量名称。
  • [indices] 是索引名称,*代表备份所有索引。

4. 恢复elasticsearch索引

4.1. 恢复索引数据

复制代码
curl -XPOST "http://${es_ip}:${es_port}/_snapshot/ecopherebbs" -H  'Content-Type: application/json' -d '{ "type": "fs",  "settings": { "location": "'${backup_path}'/snapshot_'${day}'"}}'
  • [es_ip] 是您连接到 elasticsearch数据库的ip。
  • [es_port] 是您连接到 elasticsearch数据库的端口。
  • [backup_path] 是要恢复的路径。
  • [day] 是恢复路径变量名称。

**备注:**es恢复前先删除对应索引( curl -XDELETE "http://${es_ip}:{es_port}/{indice}" )

相关推荐
小小bugbug4 小时前
mysql查询的原始返回顺序与limit分页优化
mysql·adb
AurumVision15 小时前
小米、海信、TCL、华为等品牌电视ADB调试的开启方法
adb·智能电视·tcl·开发者模式·小米电视·玩机教程·电视调试
技术净胜1 天前
MySQL 8.0 超详细保姆级官方版下载安装完整教程步骤(含环境配置+安装包下载)
数据库·mysql·adb
fatiaozhang95272 天前
万能通刷包_非高安版_海思MV300H/MV310_原机安卓4升级安卓9_全分区烧录包支持多无线及遥控_带adb权限(2026)
android·adb·电视盒子·刷机固件·机顶盒刷机·海思安卓4升级安卓9
·云扬·2 天前
MySQL单机多实例部署两种实用方法详解
数据库·mysql·adb
墨瑾轩2 天前
MySQL索引创建不锁表:90%的DBA都踩过的3个坑!
mysql·adb·dba
kabcko2 天前
CentOS安装Mysql
mysql·adb·centos
Antoine-zxt3 天前
MySQL宕机日志迷局破解指南:从前台启动到精准排错
数据库·mysql·adb
大海绵啤酒肚3 天前
WordPress部署新玩法:利用NFS存储在Kubernetes中实现数据持久化
adb·容器·kubernetes
wadesir3 天前
Linux MySQL Sysbench一键部署与压测实战教程
linux·mysql·adb