mysql数据库备份方法总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql数据库备份方法总结相关的知识,希望对你有一定的参考价值。

今天有点时间,自己总结下mysql备份的几种方法以备查阅!

    生产环境中数据无疑是一个公司的命脉,作为一个运维工程师无法保证企业数据的安全,那么是一个不合格的工程师。我们如何保证数据不丢失、或者丢失后快速恢复呢?下面介绍mysql数据库备份和恢复方法。


MYSQL基础知识总结


1、为什么需要备份数据?

    生成环境中我们的数据库可能会遭遇各种各样的不测导致数据丢失,大概有几种情况(硬件故障、软件故障、自然灾害、黑客攻击、误操作(占比最大))所以,为了在数据丢失后能恢复数据,我们就必须定期备份数据,备份数据的策略要根据不同的企业场景进行定制,我们可以根据这几个因素取定制如何自己企业的备份策略(如:数据库的大小、能容忍的数据丢失度、能容忍的恢复时间、需要恢复的数据)


2、数据备份的类型

    根据数据库的完整度分完全备份 和部分备份(增量备份和差异备份)

    完全备份:备份整个数据库集,

    部分备份:备份部分数据库集(如,指备份某个数据库,或者某个表)

       增量备份:备份自上一次备份(增量或完全)以来变化的数据;特定:节约空间、还原较麻烦。

       差异备份:备份自上一次完全备份以来变化的数据;特定:浪费空间,还原比增量还原简单。


3、mysql的备份方式

    

    热备份:指数据库备份时,数据库读写不受影响

    温备份:指数据库备份时,数据库只读,不能写操作

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

    

    数据库的不同的存储引擎支持不同的备份方式

    MyISAM :支持 温备、冷备

    InnoDB :支持 热备 、温备、冷备

    

    物理备份:通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果。

    逻辑备份:通过特定的工具从数据库中导出数据或SQL语句并另存备份(会丢失数据的精度)


4、备份需要考虑的问题

    (1)我们需要备份什么数据?

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

    (2)备份工具如何选择

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

       cp\tar:物理备份工具,适用于所有存储引擎,冷备、完全备份、部分备份

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

       xtrabackup:一款非常强大的innodb/xtraDB热备份工具,支持完全备份、增量备份,由perconat提供


5、设计合适的备份策略

    针对不同的企业场景,制定不同的备份策略对数据库进行备份,备份策略一般为三种:


  直接cp\tar 复制数据库文件 (适合数据库较小,直接复制)

  mysqldump+复制binlogs  (数据量一般,先mysqldump对数据完备,然后定期备份日志文)

  lvm2快照+复制binlogs (数据量一般,不过分影响业务运行,使用LVM2快照完备后,增量备份日志)

  xtrabackup (数据量大,不过分影响业务运行使用xtrabackup进行完全备份后,定期进行增量或差异备份)



各种备份实战演练


1、使用cp进行备份

yum安装mysql,默认数据库路径/var/lib/msyql,如下


技术分享

查看当前数据库,我们的数据库为yema ;

技术分享

查看yema数据库中所有表,ym_001、 ym_002


技术分享

向数据库施加读锁





以上是关于mysql数据库备份方法总结的主要内容,如果未能解决你的问题,请参考以下文章

干货MySQL 数据库定时备份总结

MySQL的备份与恢复

MySQL 备份总结

MySQL数据库的物理备份逻辑备份和恢复

MySQL数据库的物理备份逻辑备份和恢复

MYSQL双机热备份的配置实施(问题总结)