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