`
cloudmail
  • 浏览: 271036 次
  • 来自: 广州
社区版块
存档分类
最新评论

MySQL的备份与恢复

 
阅读更多

 

MySQL的备份与恢复

1.备份

 

按备份时服务器是否在线来划分,备份可分为:

(1).热备份:数据库在线同时服务正常运行,此时进行的备份 (非常不安全,容易造成数据不一致)

(2).温备份:数据库服务正常运行,但数据只能读不能写,此时进行的备份(较安全)

(3).冷备份:服务器关闭,此时进行的备份(最安全,但最不可行)

按备份的内容来划分:备份可分为:

(1).逻辑备份:支持跨平台,备份的是SQL语句(DDLinsert语句),以文本形式存储,较占空间,不过可使用压缩进行节约空间

(2).物理备份:直接复制数据文件进行的备份,较逻辑备份速度较快

按备份涉及的数据范围来划分,备份可分为:

(1).完全备份:备份整个数据库

(2).增量备份:数据库从上一次完全备份或者最近一次的增量备份以来改变的内容的备份

(3).差异备份:基于的是最近一次的完整数据备份,差异备份仅捕获自该次完整备份后发生更改的数据。

 

2.备份哪些东西以及备份策略:

(1).二进制日志

(2).InnoDB的日志文件

(3).mysqld的主配置文件 (例/etc/my.cnf

(4).从服务器位置信息

(5).中继日志 (在从服务器上的)

备份策略:二进制日志要独立备份,一定不能和数据文件在同一个磁盘上,备份之前要确定备份方案,然后再进行备份。

 

3.备份工具

 

mysqldump实现的是逻辑备份,对于INNODB的引擎实行的是热备份,其它引擎则是温备份。

 

SELECT INTO OUTFILE 指定仅备份某个表的部分数据或字段

Ibbackup 是一种商业软件备份工具,实现的是物理备份,对于INNODB的引擎实行的是热备份;其它引擎则是温备份

Filesystem (copy files) 基于文件系统的备份,直接复制数据库文件,是冷备份,物理备份

Snapshot 快照备份,几乎热备份,物理备份

mysqlhotcopy 只能备份MyIsam引擎,是冷备份

 

(1).mysqldump的使用

选项:

--all-databases   备份所有数据库

--databases db_name  备份某个数据库

--lock-tables  锁定表(非常不建议使用此选项)

--lock-all-tables 锁定所有的表

--events  备份EVENT的相关信息

--no-data  只备份DDL语句、备份表结构,不备份数据(一般不使用)

--master-data=n 备份的时候同时导出二进制日志文件和位置;如果n1,则把信息保存为CHANGE MASTER语句;如果n2,则把信息保存为注释掉的CHANGE MASTER语句。

--routines 将存储过程和存储函数定义备份

--single-transaction   实现热备(只能热备InnoDB引擎的)

--triggers 备份触发器

举例:备份lh数据库至/backup目录下,并以日期+时间的方式命名。

# mysqldump –databases lh –lock-all-tables –flush-logs –master-data=2 > /backup/lh-`date +%F-%H-%M-%S`.sql

还原数据库时:

# mysql

mysql> SET SQL_LOG_BIN=0;

mysql > SOURCE /backup/lh-20120418-12-12-10.sql;

mysql> SET SQL_LOG_BIN=1;

说明:此时还原数据库时要关闭二进制日志。

 

(2).使用cptar命令进行物理备份

使用cptar等命令进行复制或归档数据库

# service mysqld stop

# cp –a /mydata/data/*  /backup/alldata- `date +%F-%H-%M-%S`/

# tar jcf /backup/ alldata- `date +%F-%H-%M-%S`.tar.bz2 /mydata/data/*

说明:以上两个命令的备份,必须要停止mysql服务才能备份,这里假设mysql的数据路径是:/mydata/data

 

(3).使用xtrabackup进行备份

xtrabackuppercona组织的一款开源备份软件,可实现完全备份和增量备份,是世界上惟一一款开源的能够对innodbxtradb引擎的数据库进行热备的工具。

完全备份:

# innobackupex --user=root --password=123456 /backup

恢复数据的时候要先准备一个完全备份才能实现恢复:

# innobackupex --apply-log  /backup/ 2012-04-18_12-12-10

# innobackupex --copy-back  /backup/2012-04-18_12-12-10

增量备份:

第一次增量备份:

# innobackupex --incremental /backup --incremental-basedir=/backup/2012-04-18_12-12-10

说明:-incremental-basedir后面跟的是完全备份的数据库的路径(要想增量备份,前提必须已经实现完全备份),并且此时在/backup目录下,生成了一个2012-04-18_13-13-10的增量备份的目录

恢复的时候也需要准备才能恢复数据,但和完全备份准备的方式不同:

# innobackupex --apply-log --redo-only /backup/2012-04-18_12-12-10

# innobackupex --apply-log --redo-only \

/backup/2012-04-18_12-12-10 --incremental-dir=/backup/2012-04-18_13-13-10

说明:此时数据恢复成功,如果有多个增量备份,则重复执行第二条语句(绿色的语句),并且执行第二条语句的时候,第一次增量备份的先执行,依次执行后面的增量备份。

 

转自: http://www.linuxidc.com/Linux/2012-04/58933.htm

分享到:
评论

相关推荐

    实验报告六 MYSQL备份与恢复.docx

    根据提供的实验报告“MYSQL备份与恢复”的相关内容,我们可以总结出以下几个关键知识点: ### 一、MYSQL日志管理 #### 1. 错误日志 - **定义**: 记录MySQL运行过程中的错误信息和警告信息。 - **作用**: 帮助管理...

    Mysql备份与恢复

    生产中Mysql备份恢复的形式,基于mysqldump备份及原理,基于Xtrabcackup备份及原理,表空间传输,binlog备份(增量),基于mysql全备+增备的恢复Tips

    MySQL备份与还原(重要).pdf

    MySQL数据库备份与还原是一项至关重要的技能,它确保了当数据损坏或丢失时,我们能够从备份...理论知识和实际操作相结合,旨在帮助运维人员和数据库管理员(DBA)制定出高效可靠的MySQL备份与还原方案,确保数据安全。

    mysql备份与还原

    ### MySQL备份与还原知识点 #### 一、MySQL备份方法 MySQL数据库备份是非常重要的维护工作之一,主要用于防止数据丢失,确保业务连续性。备份通常分为全量备份和增量备份。 **全量备份**:指的是将数据库中的所有...

    linux运维学习笔记:Mysql备份与恢复.pdf

    衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO),前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间。 常用的备份方式有三种:物理备份、全量备份和增量备份。 1. 物理...

    MySQL备份与恢复记录

    MySQL备份与恢复是数据库管理中的关键任务,确保数据安全和业务连续性。在本文中,我们将探讨两种主要的MySQL备份方法——冷备份和工具备份,以及如何进行恢复操作。 首先,冷备份是最简单的备份方式,它涉及在...

    MySQL备份与恢复.ppt

    MySQL备份与恢复,里面都做了详细解析.ppt

    MySQL 备份与恢复 手把手教学视频

    本教程将围绕“MySQL备份与恢复”这一主题,详细讲解如何保护你的宝贵数据,确保在出现故障时能够迅速恢复。 1. **备份的重要性**:数据丢失可能由于硬件故障、软件错误、人为操作失误或恶意攻击等多种原因造成。...

    MySQL数据库备份和恢复

    #### 常见的MySQL备份工具与方法 MySQL提供了多种内置的备份工具和技术,主要包括: - **mysqldump**:这是最常用的数据导出工具,支持逻辑备份,即将数据表导出为SQL脚本。它可以处理不同版本间的迁移,非常适合...

    nbu&mysql备份恢复.docx

    NBU&MySQL备份恢复 NBU(NetBackup)是一款功能强大的备份恢复软件,而MySQL是一款流行的关系型数据库管理系统。本文将详细介绍如何使用NBU来备份和恢复MySQL数据库。 NBU备份mysql的优势 使用NBU备份mysql数据库...

    mysql备份还原

    MySQL 备份还原是指将数据库中的数据备份到外部存储设备上,并在需要时将其恢复到数据库中。备份可以是全量备份,也可以是增量备份。全量备份是指将整个数据库的数据备份到外部存储设备上,增量备份是指将自上一个...

    mysql备份与还原命令

    ### MySQL备份与还原命令详解 在数据库管理领域中,数据备份和恢复是非常重要的操作,能够有效保障数据的安全性。MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了多种实用的工具来帮助用户完成备份与恢复...

    MySQL备份与还原..pdf

    MySQL 备份与还原技术指南 MySQL 备份是指将 MySQL 数据库中的数据导出到一个文件中,以便在需要时恢复数据库。mysqldump 是一个常用的备份工具,它可以将 MySQL 数据库中的数据导出到一个 SQL 文件中。 ...

    mysql备份与恢复详细整理

    MySQL备份与恢复是数据库管理的重要环节,确保在数据丢失或系统故障时能够快速恢复到正常状态。本篇文章将深入探讨MySQL的备份与恢复策略,包括常见的工具和参数,特别是对`mysqldump`工具的详细使用。 1. **...

    03-MySQL备份与恢复1

    MySQL备份与恢复涉及多种技术和方法,需要根据业务需求、数据库规模和可用资源来定制合适的备份策略。物理备份和逻辑备份各有优势,增量和差异备份则在节省存储空间方面发挥作用。同时,理解并熟练运用二进制日志...

    mysql备份与恢复原理,操作流程

    MySQL数据库的备份与恢复是确保数据安全性的重要环节。...总之,MySQL备份与恢复策略需要综合考虑数据量、备份频率、恢复需求和可用工具,以确保在面对各种可能的风险时,能快速有效地恢复数据,保障系统的稳定运行。

Global site tag (gtag.js) - Google Analytics