(1)全量备份:数据库中所有数据的备份
mysqldump -u root -p -F -B -A |gzip >/server/backup/mysqlbak_$(date +%F).sql.gz 备份格式为: mysqlbak_2016-04-19.sql.gz mysqldump -u root -p -F -B -A |gzip >/server/backup/mysqlbak_$(date +"%d-%m-%Y").sql.gz 备份格式为:mysqlbak_19-04-2016.sql.gz 备份一个库(例如zabbix库) mysqldump -u root -p -F -B zabbix |gzip >/server/backup/mysqlbak_$(date +%F).sql.gz 备份格式为: mysqlbak_2016-04-19.sql.gz mysqldump -u root -p -F -B zabbix |gzip >/server/backup/mysqlbak_$(date +"%d-%m-%Y").sql.gz 备份格式为:mysqlbak_19-04-2016.sql.gz
2、增量备份
增量数据是从上次全量备份之后更新的新数据,对于mysql来说binlog日志就是增量备份。
mysql备份数据:备份保留时间(一周 180天)
按天备份
优点:
恢复时间短
维护成本低
缺点:
占用空间多
占用系统资源多
经常锁表影响用户体验
按周全备
优点:
占用空间少
占用系统资源少
锁表的次数少
缺点:
维护成本高
恢复麻烦
时间长
企业使用方案:
(1)中小企业 全量一般每天一次,业务流量低估执行全备,备份时会锁表;
(2)单台数据库 如何增量 用rsync(配合定时任务频率大点或者inotify)主从复制,把所有的binlog备份到远程服务器,尽量做主从复制;
增量备份的例子:
rsync -avz /var/lib/mysql/mysql-bin.00* rsync_backup@192.168.121.105:backup --password-file=/etc/rsync.passwd
(3)大公司周备。每周六00点一次全量,下周日-下周00点前都是增量
优点:节约备份时间,减少备份压力,缺点;增量的binlog日志文件副本太多,还原麻烦
(4)一主多从 会有一个从库做备份,延迟同步
Mysql的mysqldump备份什么时候派上用场?
1、迁移或者升级数据库时
2、增加从库时
3、如果因为硬件或者特殊异常情况,主机或从库宕机,主从可以切换无需备份
4、人为的DDL、DML语句,主从库没办法,所有库都会执行,此时需要备份
5、跨机房灾备,需要备份到异地
一般由人为或者程序的逻辑方式在数据库执行时候出现误操作,导致数据出现丢失之类,需要数据恢复。
Mysql增量恢复的必备条件
1、开启mysql log-bin日志
一般情况下间所有的数据写入到全部停掉。可以用防火墙拒绝或者负载均衡器停掉
本文出自 “坚持梦想” 博客,请务必保留此出处http://dreamlinux.blog.51cto.com/9079323/1840925
原文地址:http://dreamlinux.blog.51cto.com/9079323/1840925