MySQL备份
在生产环境中最重要的什么?服务器的硬件坏了可以维修或者换新,软件问题可以修复或重新安装,但是如果数据没了呢?那可真就over了。那么我们是否可以提前进行风险规避,使数据丢失后可以快速恢复呢?答案是可以的。
为了在数据丢失之后能够快速的恢复数据,比较好的方法就是我们定期的把数据进行备份,备份的策略在不同的应用场景也不尽相同,大致有几个可以进行参考的数值,我们可以根据这些数值来制定符合特定应用场景的数据备份策略:
1、能够容忍丢失多少数据
2、恢复数据需要多长时间
3、需要恢复哪一些数据
数据备份类型
1、完全备份
完全备份指的是备份整个数据集(即整个数据库)
2、部分备份
部分备份指的是备份部分数据集(例如:只备份一个表)
部分备份又分为以下两种
1)增量备份
2)差异备份
增量备份指的是备份自上一次备份以来(增量或完全)以来变化的数据;特点:节约空间、还原麻烦差异备份指的是备份自上一次完全备份以来变化的数据特点:浪费空间、还原比增量备份简单
MySQL备份数据的方式在MySQl中我们备份数据一般有几种方式
热备份:当数据库进行备份时,数据库的读写操作均不是受影响
温备份:当数据库进行备份时,数据库的读操作可以执行,但是不能执行写操作
冷备份:当数据库进行备份时,数据库不能进行读写操作,即数据库要下线
MySQL中进行不同方式的备份还要考虑存储引擎是否支持
MyISAM:支持温备份和冷备份,不支持热备份
InnoDB:支持备份、温备份和冷备份
MySQL数据库中数据的备份方式
物理备份一般就是通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果逻辑备份一般就是通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)
备份需要考虑的问题1、我们要备份那些内容或者数据
一般来说,我们需要备份的数据主要包括:
数据、二进制日志,InnoDB事务日志、代码(存储过程、存储函数、触发器、事件调度器)、服务器配置文件。
备份工具
mysqldump:逻辑备份工具,适用于所有的存储引擎,支持温备、完全备份、部分备份、对于InnoDB存储引擎支持热备cp,tar等归档复制工具:物理备份工具,适用于所有的存储引擎,冷备、完全备份、部分备份xtrabackup:一款非常强大的InnoDB/XtraDB热备工具,支持完全备份、增量备份
设计合适的备份策略针对不同的场景下,对数据库进行备份的策略也不同,备份策略一般为以下三种
1、直接cp,tar复制数据库文件
2、mysqldump+复制BINLOGS
3、xtrabackup
以上的几种解决方案分别针对于不同的场景
如果数据量较小,可以使用第一种方式,直接复制数据库文件
如果数据量中等,可以使用第二种方式,先使用mysqldump对数据库进行完全备份,然后定期备份BINARYLOG达到增量备份的效果
如果数据量很大,而又不过分影响业务运行,可以使用第三种方式,使用xtrabackup进行完全备份后,定期使用xtrabackup进行增量备份或差异备份
实例(参考链接好的白癜风医院中国白癜风治疗去哪里