目录
1. mysql备份
1.1. 使用 mysqldump 命令备份整个数据库:
1.2. 备份特定表:
2. 恢复 MySQL 数据库
2.1. 使用备份文件恢复数据库:
3. 备份elasticsearch索引
3.1. 注册本次备份的存储路径
3.2. 查看当前备份快照信息
3.3. 备份索引数据
4. 恢复elasticsearch索引
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}" )