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}" )

相关推荐
文人sec6 天前
grant 之后要跟着 flush privileges 吗?要不要使用分区表?
数据库·mysql·adb·数据分析
2501_916008898 天前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
2501_9160088910 天前
全平台抓包工具,Windows、iPhone、Linux三个平台抓包测试
网络协议·计算机网络·网络安全·ios·adb·https·udp
鸽芷咕12 天前
MySQL Server 鸿蒙 PC 适配全记录:以混合工具链完成 C++23 交叉编译与 HNP 交付
adb·harmonyos·c++23
游戏开发爱好者815 天前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
实心儿儿15 天前
MySQL 的安装
数据库·mysql·adb
2601_9623004715 天前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
flower_drop17 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
蜡台17 天前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
leoZ23117 天前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb