=======================================================================================
为什么要备份
灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作测试等数据丢失场景
备份注意要点
能容忍最多丢失多少数据
恢复数据需要在多长时间内完成
需要恢复哪些数据
1. 做还原测试,用于测试备份的可用性
2. 还原演练
- 完全备份,部分备份
完全备份:整个数据库(建议一周做一次)
部分备份:只备份数据子集,如部分库或表
- 增量备份、差异备份
增量备份:仅备份最近一次完全备份或增量备份
(如果存在增量)以来变化的数据,备份较快,还原复杂
很可能这个增量备份就是将二进制日志—导成备份文件
差异备份:仅备份最近一次完全备份变化的数据
,备份较慢,还原简单
注意:二进制日志文件不应该与数据文件放在同一磁盘
差异备份实例
备份变化的数据
,备份较慢,还原简单
增量备份实例
备份变化的数据,备份较快,还原复杂
很可能这个增量备份就是将二进制日志—导成备份文件
1.冷备(速度读块)
冷备:读写操作均不可进行
,将磁盘对应的文件考出来/var/lib/mysql/事务日志ibdata1,原有的(库文件,数据文件,my.cnf配置文件,二进制文件)
例如:
开始备份
1.首先停止服务systemctl stop mariadb
(sock文件就没了)
2.将整个文件都压缩tar Jcvf all.bak.tar.xz /var/lib/mysql/
3.如果二进制日志,或其他日志独立在其他目录也需要备份tar Jcfv
4.备份 /etc/my.cfg 直接考就可以
将其放到一个文件夹里面
5.将整个目录拷贝到另一台机器上scp /backup/ 192.168.4.24 /data/backup :
开始恢复
首先得有数据库mariadb(与上一台机器版本一致)
1.覆盖(并备份my.cnf文件)
cp /data/back/my.cng /etc/my.cng -b
(这里-b用于备份/etc/my.cnf为my.cnf-
)
2.创建独立的二进制日志文件/data/login/,更改权限mysql
然后还原二进制日志
tar -xvf /data/login.tar.xz -C /data/login/
3.还原/va/lib/mysql/