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数据库备份方法总结的主要内容,如果未能解决你的问题,请参考以下文章