1.全量备份
全量数据就是数据库中所有的数据,全量备份就是把数据库中所有的数据进行备份。
备份所有库:
mysqldump -uroot -ppoldboy -S /data/3306/mysql.sock -F -B -A|gzip >/server/backup/mysqlbak_$(date %F).sql.gz
备份一个库:
mysqldump -uroot -ppoldboy -S /data/3306/mysql.sock -F -B |gzip >/server/backup/mysqlbak_$(date %F).sql.gz
2.增量备份
增量数据是从上次全量备份之后,更新的新数据。对于mysql来说,binlog日志就是msyql的增量数据。
3.企业场景,增量或者全量备份
1)中小公司,全量一般是每天一次,业务流量低谷执行全备,备份时会锁表。
2)单台数据库,如何增量。用rsync(配合定时任务频率大点或者inotify,主从复制)把所有binlog备份到远程服务器,尽量做主从复制。
3)大公司周备,每周六00点一次全量,下周日-下周六00点前都是增量。
优点:节省备份时间,减少备份压力。
缺点:增量的binlog文件副本太多,还原会很麻烦。
4)一主多从,会有一个从库做备份,延迟同步
1.迁移或者升级数据库时
2.增加从库
3.人为的DDL,DML语句,主从库没办法,所有库都会执行,此时需要备份
4.跨机房灾备,需要备份到异地
一般由人为或者程序误操作导致的变化,需要增量恢复,因为其他从库都进行了误操作。