数据库备份

一、备份介绍

(1)数据丢失的原因:硬件故障

                                      软件故障

                                      自然灾害

                                      黑客攻击

                                      误操作(占比最大)

(2)指定数据备份策略的参考值:能够容忍丢失多少数据

                                                      恢复数据需要多长时间

                                                       需要恢复哪一些数据

二、备份类型

    (1)mysql备份数据的方式:

                     热备份:当数据库进行备份时,数据库的读写操作不受影响。

                     温备份:当数据库进行备份时,数据库的读操作可以执行,但是不能执行写操作。

                     冷备份:当数据库进行备份时,数据库不能进行读写操作,即数据库要下线。

  (2)mysql的存储引擎是否支持热备等

  

 MYISAMInnoDM
热备×
温备
冷备

 

   (3)MYSQL数据库中数据的备份方式

          

备份方式解释
物理备份通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果
逻辑备份通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)

   (4)逻辑备份

              ①、解释:备份时建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。

              ②、逻辑备份的优点:

                    备份速度取决于不同的存储引擎。

                    物理备份的还原速度非常快。但是物理备份的最小粒度只能做到表。

                    逻辑备份的保存结构通常都是纯ASCII的,所以可以使用文本处理工具来处理

                    逻辑备份有非常强的兼容性,而物理备份对版本的要求非常高。

                    逻辑备份对保持数据的安全有保证。

             ③、逻辑备份的缺点

                    逻辑备份要对RDBMS产生额外的压力,而裸备份无压力。

                    逻辑备份的结果可能会比源文件大。

                    逻辑备份可能会丢失浮点数的精度信息。

  (5)物理备份

            解释:直接复制数据库文件,适用于大型数据库,不受存储引擎的限制,但不可复制到异构系统中。

  (6)MYSQL备份内容

            数据库日志文件(比如事务日志,二进制日志)

            存储过程、存储函数、触发器、 

            配置文件(** 各个配置文件都需要备份)

            用于实现数据库备份的脚本,数据库自身清理的crontab1等

   建议:(/etc/my.cnf)

        

    《1》确认备份内容

              一般情况下,需要备份的数据如下:

             数据,二进制文件、InnoDB事务日志、代码(存储过程、存储函数、触发器、事件调度器)、服务器配置文件。

    《2》明确备份工具

              常用的备份工具:

                     mysqldump:逻辑备份工具,适用于所有的存储引擎,支持温备、完全备份、部分备份、对于InnoDB存储引擎支持热备。

                    cp、tar等归档复制工具,适用于所有存储引擎,冷备,完全备份,部分备份。

                    lvm2 snapshot:几乎热备,借助文件系统管理工具进行备份。

                    mysqlhotcopy : 几乎冷备,仅支持MyISAM存储引擎

                    xtrabackup:热备工具,支持完全备份、增量备份。

《3》设计备份策略

             备份方式:(1)直接cp、tar复制数据库文件(数据量较小)

                               (2)mysqldump + 复制bin logs(数据量还行)

                               (3)lvm2快照+ 复制bin logs(数据量一般,又不过分影响业务运行)

                               (4)xtrbackup(数据量一般,又不过分影响业务运行)

 三、模拟全量与二进制增量备份数据恢复实例

   (1)数据库备份

           ①、备份

            

[root@localhost ~]# mysqldump -uroot -pCHUYEchuye@123 --single-transaction --master-data=2 company > /tmp/company_`date +%F-%H-%M`.sql  #直接备份


[root@localhost ~]# mysqldump -uroot -pCHUYEchuye@123 --single-transaction --master-data=2 company > /tmp/company_`date +%F-%H-%M`.gz  #备份并压缩

[root@localhost ~]# mkdir /backup
[root@localhost ~]# mysqldump -uroot -pCHUYEchuye@123 --routines --events --triggers --master-data=2 --flush-logs --all-databases > /backup/all_`date +%F`.sql  #备份所有的数据库

      ②、数据库恢复

[root@localhost ~]# mysql -uroot -pCHUYEchuye@123 -e 'create database test'
[root@localhost ~]# mysql -uroot -pCHUYEchuye@123 test</tmp/company_2020-06-12-01-36.sql

   (2) mysqldump全量备份 + mysqlbinlog二进制日志增量备份

   (3)模拟凌晨12:00数据库增量备份

   (4)复制数据文件 

                ①、停止服务

                       

                 ②、备份数据文件

                                    

     

 

 

  

         

              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值