MySQL下备份和恢复简单介绍

为什么要备份?
    由于使用MySQL时自己的一些误操作导致数据丢失或者是开发写程序时删除了不该删的数据,我们知道企业中数据是最重要的,那么此时为了数据的安全性,我们就必须的提前把数据给备份好,万一出问题时,也好挽救回来。

其实导致数据灾难的原因有很多的,举一些基本的例子:硬件故障、软件故障、自然灾害、黑客攻击、误操作等都会导致数据丢失,那么在生产环境中我们备份数据就成为了必不可少的环节了。
    一般来说公司内部部署的环境一般有三种,生产环境、测试环境、开发环境。有一点很重要的是当我们把灾难中的数据拯救回来后,不要以为就万事大吉了,一个必须的环节是你需要测试一下拯救回来的数是否都是完整的,以防自己恢复时少了什么步骤而遗漏要恢复的数据,所以测试环节必须的进行。当然不是说就单单是恢复的数据需要做备份,同样我们备份的数据也要随机抽取一些盘,测试我们备份的数据是否是完整的。
    
    这里有几个需要注意的要点:
      可容忍丢失多少数据;
      恢复需要在多长时间内完成;
      需要恢复什么;
    
    下面说说备份类型有哪些?
        完全备份,部分备份:
            部分备份:仅备份其中的一张表或多张表;
    
        完全备份,增量备份,差异备份

完全备份:对所指定的库所有数据进行备份
            增量备份:仅备份从上次完全备份或增量备份之后变化的数据部分;
            差异备份:仅备份从上次完全备份之后变化的数据部分;
    
        热备份、温备份和冷备份:根据服务器是否在线分类
            热备份:在线备份,读写操作不受影响;    
            温备份:在线备份,读操作可继续进行,但写操作不允许;
            冷备份:离线备份,数据库服务器离线,备份期间不能为业务提供读写服务;
            MyISAM: 支持温备
            InnoDB: 热备

从备份时,是实现数据直接导入导出还是直接复制数据文件进行备份,分为:
        物理备份和逻辑备份:
            物理备份:直接复制数据文件进行的备份;  物理备份在有些场景下不能跨平台(Linux下执行的备份不一定能恢复到windows上去);
            逻辑备份:从数据库中“导出”数据另存而进行的备份;支持网络连接的方式恢复和备份

规则备份时需要考虑的因素:
        持锁的时长
        备份过程时长
        备份负载
        恢复过程时长

备份什么?
        数据、额外的数据(二进制日志和InnoDB的事务日志)、代码(存储过程和存储函数、触发器、事件调度器等)、服务器配置文件

设计备份方案通常都是完全备份加增量备份

一周一次完全备份,每天都进行增量备份

备份工具:        
        mysqldump: 逻辑备份工具,适用于所有存储引擎,温备;完全备份,部分备份;对InnoDB存储引擎支持热备;(增量备份时,只需要备份从完全备份后的二进制日志)
        cp, tar等文件系统工具:物理备份工具,适用于所有存储引擎;冷备;完全备份,部分备份;
        lvm2的快照:几乎热备;借助于文件系统工具实现物理备份;
        mysqlhotcopy : 几乎冷备;仅适用于MyISAM存储引擎;

备份方案之备份工具的选择:
        mysqldump+binlog(主要用来基于时间点还原): mysqldump:完全备份,通过备份二进制日志实现增量备份;
        lvm2快照+binlog:几乎热备,物理备份
        xtrabackup:
            对InnoDB:热备,支持完全备份和增量备份(不是通过备份二进制日志实现的,其自身会实现增量备份),都属于物理备份
            对MyISAM引擎:温备,只支持完全备份

时间: 2024-10-25 15:19:48

MySQL下备份和恢复简单介绍的相关文章

Mysql完全备份和恢复

Mysql完全备份和恢复 实验介绍 数据库备份从物理与逻辑的角度划分可以分为:物理备份.逻辑备份.从数据库的备份策略角度,可以分为完全备份.差异备份.增量备份.这次实验主要介绍完全备份,完全备份优点是备份与恢复操作简单方便,缺点是数据存在大量的重复,占用大量的备份空间,备份时间长. Mysql完全备份 1.使用tar打包文件夹备份 Mysql的数据库文件默认都是保存在安装目录下的data文件夹下面,可以直接保存data文件夹.但是占用的空间很大,可以使用tar打包压缩进行保存.由于数据库文件很大

MySQL数据库备份和恢复

目录 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 备份注意要点 还原要点 备份类型: 备份时需要考虑的因素 备份什么 备份工具 冷备份 cp tar mysqldump备份工具 模拟数据库崩溃,最大限度还原数据 mysqldump的分库备份 mysqldump的MyISAM存储引擎相关的备份选项: mysqldump的InnoDB存储引擎相关的备份选项: 生产环境实战备份策略 将误删除了的某个表进行还原 MySQL数据库备份和恢复 备份恢复概述 为什么要备份 灾难恢复:硬件故障.软件

Linux下Mysql数据库备份和恢复全攻略

很多用户都有过丢失宝贵数据的经历,随着大量的数据被存入到MySQL数据库中,再加上错误地使用DROP DATABASE命令.系统崩溃或对表结构进行编辑等操作,都可能酿成灾难性的损失.所以对MySQL数据库进行备份,以备在出现意外时及时进行恢复是非常必要的. 一. 使用mysql相关命令进行简单的本地备份     1 mysqlldump命令 mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,在不同的 MySQL 版本之间升级时相对比较合适,这也是最常用的备份方法.

Linux下MySQL的备份和恢复

MySQL备份的原因  1. 灾难恢复  2. 审计   3. 测试1234512345 mysql的备份类型  1. 根据服务器的在线状态:     热备:服务器处于运行状态     冷备:服务器出去停止状态     温备:服务器处于半离线状态,只能读,但是不能写  2. 根据备份的数据集:     完全备份:备份整个数据库     部分备份:备份某个表  3. 根据备份时的接口:     物理备份:直接将数据库文件从磁盘上复制出来     逻辑备份:把数据从数据库中提取出来备份成文本文件  

MySQL数据库备份、恢复知识储备

目录 1.备份目的 2.备份类型 3.备份对象 4.备份工具 5.备份的一般操作流程 6.数据恢复的一般操作流程 7.备份工具 1.备份目的 备份的目的是为了数据还原和恢复数据,备份只是一种手段,还原和恢复才是目的.对备份的数据要做定期的恢复测试,已确保备份的可用性. 2.备份类型 备份类型可以从三个维度来说明,一是根据数据库是否需要离线来划分,二是根据备份数据的范围来划分,三是根据备份的是数据文件还是SQL语句文件来划分. 2.1.根据数据库是否需要离线来划分: a).冷备:cold back

mysql之备份和恢复(msyqldump、LVM、xtrabackup)

备份类型:    根据备份时是服务器是否在线:        热备份(HOT):            读写操作不受影响        温备份(WARM):            进可以执行读操作,写操作不能执行        冷备份(COLD):            读写操作均不能进行 根据备份时对数据文件的操作:        物理备份:            直接复制数据文件.速度快,但是跨平台移植可能受到底层文件系统格式的影响.        逻辑备份:            将数据导

MySQL数据备份及恢复(1)

前言 MySQL备份一般采用全库备份加日志备份的方式,根据业务的需要,可以采用每周日凌晨1点进行完全备份以及每小时进行一次增量备份,这样在MySQL故障后可以使用完全备份和日志备份尽可能的去恢复最完整的数据. 一.binlog日志恢复 MySQL的二进制日志记录着该数据库所有增删改的操作日志(前提是需要自己开启binlog),还包括了这些操作的执行时间,binlog的使用场景无外乎就是主从同步以及恢复数据库.开启binlog功能,需要编辑MySQL的主配置文件,如下: 1.查看二进制功能是否开启

JSP 实现 之 调用java方法实现MySQL数据库备份和恢复

package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStreamReader; public class Command { /* public static void main(String[] args) throws IOException { Command com = new Com

mysql数据备份及恢复

mysql数据备份: 1数据备份方式: 方式分类: 物理备份:     直接拷贝库或对应的文件,文件的所有者/组必须是mysql cp -r /var/lib/mysql 目录/备份文件名 cp /var/lib/mysql/user.*  /mydata/ tar -zcvf  /mydata/mysal.tar.gz /var/lib/mysql/mysql/* 只支持myisam储存引擎的表       mysqlhotcopy  -u root -p 123456 数据库名   目录/备