(1)全量备份:数据库中所有数据的备份
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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备份到远程服务器,尽量做主从复制;
增量备份的例子:
1
2
|
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日志
一般情况下间所有的数据写入到全部停掉。可以用防火墙拒绝或者负载均衡器停掉
本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1840925,如需转载请自行联系原作者