Mysql 数据备份(详细教程)

为什么要备份

数据是企业生存的命脉

什么是备份

将数据另外保存一份

备份到哪里

通常采用异地保存

什么时候备份

备份的窗口期,通常是业务压力最低点

如何备份

    备份方法 物理备份 逻辑备份 备份策略 完整备份 增量备份 差异备份 备份三要素 BW:完成备份需要的时间 RPO:客户可承受的最大数据丢失量 RTO:客户可承受的最长停机时间

容灾级别

级别 说明 0 无异地备份 1 有异地备份 2 实现热备份 3 在线恢复数据 4 定时备份数据 5 实时备份数据 6 零数据丢失

完整备份

物理备份(cp、tar、zip)

逻辑备份(mysqldump、mysql)

逻辑备份应用案例

增量备份(Percona-XtraBackup)在线热备不锁表

实时备份(Binlog)

启用binlog日志

##binlog是MySQL日志类型的一种,记录MySQL所有的写操作

##server51操作
[root@server51 ~]# vim /etc/my.cnf						#编辑MySQL主配置文件启用binlog
[root@server51 ~]# sed -rn '4,6p' /etc/my.cnf
[mysqld]		
log_bin			#启用binlog
server_id=51	#设置server_id值
[root@server51 ~]# systemctl restart mysqld				#重启服务使配置生效
[root@server51 ~]# ls /var/lib/mysql/server51-bin.*		#查看binlog日志相关文件
/var/lib/mysql/server51-bin.index		#binlog日志索引文件
/var/lib/mysql/server51-bin.000001 		#binlog日志文件

测试binlog日志

操作binlog日志

自定义binlog日志(记得改权限哦)

查看binlog日志内容

使用binlog日志恢复数据

经验分享 程序员 微信小程序 职场和发展