MySQL数据备份

MySQL数据备份

链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ
提取码:ekpy
复制这段内容后打开百度网盘手机App,操作更方便哦

1.数据库备份的分类

1.1从物理与逻辑的角度,备份可以分为物理备份逻辑备份

1.1.1物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份。物理备份又可分为脱机备份(冷备份)和联机备份(热备份)

  • 冷备份:是在关闭数据库的时候进行的
  • 热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件
  • 温备份:数据库锁定表格(不可写入但可读)的状态下进行的

1.1.2逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份

1.2从数据库的备份策略角度,备份可分为完全备份、差异备份和增量备份

完全备份:每次对数据进行完整的备份
对整个数据库的备份、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础。

  • 优点:备份与恢复操作简单方便
  • 缺点:数据存在大量的重复;占用大量的空间;备份与恢复时间长

增量备份:只有那些在上次完全备份或者增量备份后被修改的文件才会被备份

  • 以上次完整备份或上次的增量备份的时间为时间点,仅备份这之间的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份起到最后一次增量备份依次恢复,如中间某次的备份数据损坏,将导致数据的丢失。

2.MySQL备份思路

  • 定期实施备份,指定备份计划或策略,并严格遵守
  • 除了进行完全备份,开启MySQL服务器的日志功能是很重要的(完全备份加上日志,可以对MySQL进行最大化还原)
  • 使用统一和易理解的备份名称,推荐使用库名或者表名加上时间的命名规则,如mysql_user-20160505.sql,不要使用backup1之类没有意义的名字。

3.MySQL全量备份与恢复

3.1备份

3.1.1单个备份一个库

image_1ckf66015145b6fo82tn8qr419.png-11.7kB

3.1.2查看

image_1ckf66vgp21mu4f1qdj1h42f17m.png-2.3kB

3.1.3备份两个库(以上)要加参数--databases

image_1ckf6kfn6171u16kaji8vbj1db013.png-7.1kB

3.1.4查看

image_1ckf6nsmnjr9924goh10a7jr320.png-3.2kB

3.1.5不指定库名,全部备份

image_1ckf6uo231qg5k4gfi11ok62lk2d.png-8.6kB

3.1.6查看

image_1ckf6vml925k1toq14fusov6br2q.png-3.9kB

3.1.7对单个一个表备份

image_1ckf75mv1rn28knsbm571n0a3n.png-9.3kB

3.1.8查看

image_1ckf77hbtr4f1kp610kv1l387od44.png-4.3kB

3.1.9备份中压缩(可以加快速度)

image_1ckf91ku0fo111ae1sq65pe1j5h7f.png-8kB

3.1.10查看

image_1ckf92g2g1832g2k3l61g861no87s.png-6.8kB

3.2数据恢复

3.2.1模拟实验,删除一个库再恢复

image_1ckf7jep54i6dctgnb4dq132k4h.png-16.8kB

3.2.2全备恢复(交互式)

image_1ckf7o9921cva1g2u13f2fjmgdt5e.png-1.9kB

3.2.3查看已恢复的数据

image_1ckf7pkjqrp01krr1pep16eq1tn75r.png-5.9kB

3.2.4全备恢复(不交互)模拟实验,删除一个库再恢复

image_1ckf7uhl1ng563h1hmp535160q68.png-2.9kB

3.2.5查看已恢复的数据

image_1ckf81euh6huev213ijc4g1arl6l.png-6kB

image_1ckf83s9m12rmr5v6jf6gbefv72.png-7.7kB

3.3备份与恢复单个的表

3.3.1已知表内信息数据如下:

image_1ckk19ckl1hcd1dov19gopou1to39.png-5.8kB

3.3.2备份单个表

image_1ckk1b1voh1jjc11r4uet41ecgm.png-7.3kB

3.3.3删除表内信息

image_1ckk1erdd11o47of15sntbdr4913.png-10.2kB

3.3.4恢复表内信息数据

image_1ckk1hoo91pnc63hu623ubf31g.png-6.8kB

3.3.5查看恢复数据

image_1ckk1isa91j1khfo65u1a731s651t.png-5.9kB

4.MySQL增量备份与恢复

4.1MySQL增量备份的特点:

  • 没有重复数据,备份量不大,时间短
  • 恢复麻烦: 需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有增量备份进行逐个反推恢复。
    备注:MySQL没有提供直接的增量备份办法,可以通过MySQL提供的二进制日志( binary logs )间接实现增量备份。

4.2MySQL二进制日志对备份的意义:

  • 二进制日志保存了所有更新或者可能更新数据库的操作。
  • 二进制日志在启动MySQL服务器后开始记录,并在文件达到max_ binlog_ size所设置的大小或者接收到flush logs命令后重新创建新的日志文件。
  • 只需定时执行flush logs方法重新创建新的日志,生成二进制文件序列,并及时把这些日志保存到安全的地方就完成了一个时间段的增量备份。

4.3flush logs刷新日志

4.3.1已知/usr/local/mysql/data/目录下

image_1ckk71icg1gdv1rvi1gdm12542hh2a.png-8kB

4.3.2刷新日志

image_1ckk73frns2ur9dli01bc97ko2n.png-2.7kB

4.3.3检查查看

image_1ckk75h121po719q2s2p1ii24q434.png-10.4kB

4.4MySQL增量恢复的方法

4.4.1mysqlbinlog查看日志

image_1ckk9tq3vqj05191v71ul718qk9.png-58.6kB

4.4.2增量备份的三种用法

image_1ckkbmkmfdhjtu1ien19aj5j88i.png-149.1kB

4.4.3一般的恢复:备份的二进制日志内容全部恢复

(1)刷新一个新日志002,以便实验
image_1ckk7m52a1pjoh0adtjeggohj41.png-2.7kB

image_1ckk7nmnot90r8210okbo3aaq4e.png-8.5kB

(2)检查环境,什么都没有
image_1ckk7qsnm1g2i10ut14ic3qtc1m4r.png-2.1kB

(3)创建一个表内数据,记录在002日志
image_1ckk7sce7ssf1kae1adr142t195758.png-9.2kB

(4)刷新一个新日志003,以便实验
image_1ckk81qli1mdprg69jqlh16535l.png-2.7kB

image_1ckk82v4mn5sg7s1rea1g8plkn62.png-7.3kB

(5)执行删除命令
image_1ckk8693mqdtqrd4vdur3ojj6i.png-2.8kB

(6)检查环境,已删除
image_1ckk86rsjrsrqs6f5m1tu8voh6v.png-2.2kB

(7)为避免交互,重新刷新日志
image_1ckk8ipk615u2ju1trh10et1hbm89.png-2.2kB

已知现在创建表的数据存储在日志002,删除命令存储在日志003

实验一:
(1)执行增量数据恢复(日志002
image_1ckk8rhprvcm85513f111d91it58m.png-3.7kB

(2)检查实验结果
image_1ckk8s6bo1614e0qo871ajgf9v93.png-4.9kB

实验二:
(1)执行增量数据恢复(日志003
image_1ckk8vbq01adgchm1j2g1vkt1l0o9g.png-3.8kB

(2)检查实验结果
image_1ckk8vsu91j1t1h9g4mgat010vd9t.png-2.3kB

4.4.4基于时间点的恢复:便于跳过某个发生错误的时间点实现数据恢复

4.4.5基于位置的恢复:可能在同一时间点既有错误的操作也有正确的操作,基于位置进行恢复更加精准

(1)已知现在为日志004
image_1ckka957s1lcbc9ulr41sk3p6120.png-9.4kB

(2)已知现在表内信息数据如下
image_1ckkaas99dde1hgd1v67113b1cvi2d.png-4.8kB

(3)查看当前位置(删除前)
image_1ckkacoef1up0a4ksosrt01lja2q.png-7.6kB

(4)执行删除命令
image_1ckkadr1crkln4b1p1511e81c9137.png-2.7kB

(5)查看当前位置(删除后)
image_1ckkaf8436qaal1m08ud1qs43k.png-6.5kB

(6)检查当前环境
image_1ckkag67pet51ft751amm5al041.png-2.2kB

已知删除命令处以18532032之间

实验如下:
(1)执行增量数据恢复(日志004
image_1ckkb173hb0o13ne1k6i14vr1dtq4e.png-12.7kB

(2)检查实验结果(已成功删除)
image_1ckkb5u2i16891dhbu821f7p1c5m4r.png-2.2kB

4.5在企业中如何去应用MySQL的备份策略

image_1ckgs1fvkihq2p145a19941ta319.png-431.3kB

image_1ckgs29cjgbv1qpfg541npb1vlf1m.png-241.8kB

image_1ckgs2lss14oc19f2esg9c35d23.png-225.2kB