1. 常见备份分析
2. mysqldump操作流程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
完全备份
# 温备
mysqldump
--all-databases --lock-all-tables > /tmp/a.sql
# 热备
mysqldump
--all-databases --single-transaction > /tmp/a.sql
增量备份
# 完整备份少不了
mysqldump
--all-databases --singel-transaction --fulsh-logs --master-data=2 > /tmp/a.sql
#
--master-data=2 (记录二进制还原点信息)
每天一下计划任务
备份上次记录的二进制日志
.
还原流程
对于完全备份的
mysql < /tmp/a.sql
.
对于增量的
mysql < /tmp/a.sql
还要导入增量信息
mysqlbinlog
--start-position=pos --stop-position=pos /path/to/binfile | mysql
这里的start-position就是上一次
--master-data=2 在 /tmp/a.sql中记录的信息
.
备注
--events: 备份事件调度器代码
--routines: 备份存储过程和存储函数
--triggers:备份触发器
|
3. lvm快照
1
2
3
4
5
6
7
8
9
10
11
12
|
完全备份
FLUSH TABLES
WITH
READ
LOCK;
FLUSH LOGS;
mysql -e
'show master status'
> /path/
to
/somefile
lvcreate -s -n /back/path/file 50M /dev/
to
/devname
mount /back/path/file /tmp/backup
tar cf /tmp/backup/* /tmp/back1404.tar.xz
增量备份
与mysqldump无异
.
还原流程
复制物理文件 + 二进制恢复(与mysqldump无异)
|
4. select .. infile
1
2
3
4
5
6
7
8
9
10
11
|
部分备份
select
*
into
outfile
'/path/to/file'
fields terminated
by
','
optionally enclosed
by
'"'
lines terminated
by
'\n'
from
db.
table
# 注意此处仅有数据,那么在部分恢复的时候需要表结构
部分恢复
load
data infile
'/path/to/file'
into
table
db.
table
fields terminated
by
','
optionally enclosed
by
'"'
lines terminated
by
'\n'
|
常见5. innobackupex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
完全备份
innobackupex
--user=backuser --password=backpass /tmp/backup
还原完整备份
# 整理备份(关键事务整理)
innobackupex
--apply-log /tmp/backup/2014-04-11_23-43-04
还原完整备份
# 注意数据目录需要为空
innobackupex
--copy-back /tmp/backup/2014-04-11_23-43-04
.
.
增量备份
innobackupex
--user=backuser --password=backpass --incremental /tmp/backup --incremental-basedir=/tmp/backup/2014-04-11_23-43-04/
还原增量备份
# 整理增量备份至完全备份(事务回滚)
innobackupex
--user=backuser --password=backpass --apply-log --redo-only /tmp/backup/2014-04-11_23-43-04/ --incremental-dir=/tmp/backup/2014-04-11_23-49-04/
还原增量备份
innobackupex
--copy-back /tmp/backup/2014-04-11_23-43-04/
注意:
#若要还原部分数据还是用二进制方式
.
备注:
--compress 开启压缩
--compress-threads 压缩线程数
--databases=LIST 指定数据库备份
--decrypt=ENCRYPTION-ALGORITHM 指定备份加密
--export
--incremental DIRECTORY 增量放置目录
--host 主机
--password 密码
--port 端口
--parallel=NUMBER-OF-THREADS 开启多线程备份
--redo-only 回滚
--incremental-dir DIRECTORY 还原增量放置目录
--incremental-basedir=DIRECTORY 基于完整备份做增量
--stream=STREAMNAME 流模式(远程传输)
--defaults-file 多实例场景
.
流式压缩转移到其他主机
innobackupex
--compress --stream=tar /tmp/backup/2014-04-11_23-43-04/ | ssh root@172.16.43.1 cat ">" /tmp/backup.tar
|
本文转自My_King1 51CTO博客,原文链接:http://blog.51cto.com/apprentice/1394990
,如需转载请自行联系原作者