`
hupy
  • 浏览: 188830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Xtrabackup备份MySQL数据库

阅读更多

MySQL数据库的备份,一直是个比较头痛的问题。各种工具虽然不少,但一个真正好用易用的,却又非常难找。Mysqldump做为数据的逻辑备份工具还行,但是无法进行在线热备,而没有物理备份工具,在数据量比较大的时候,恢复的时间也会长得无法接受。InnoDB倒是有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备。最近发现了一个工具,percona出品的Xtrabackup,是InnoDB Hotbackup的一个开源替代品,可以在线对InnoDB/XtraDB引擎的表进行物理备份,试用了一下,非常的不错,值得向MySQL DBA们推荐。

下面是一个实际备份的例子,采用了gzip将备份流进行压缩,约20GB的数据库,压缩后大小为340MB,当然,压缩后的大小跟数据库中实际使用的空间是相关的。备份时间约6分44秒。

innobackupex是参考了InnoDB Hotbackup的innoback脚本修改而来的,主要是为了方便的同时备份InnoDB和MyISAM引擎的表,并且加入了一些使用的选项。如 –slave-info可以记录备份恢复后,作为slave需要的一些信息,根据这些信息,可以很方便的利用备份来重做slave。

注意,从备份后的tar包解包的时候,需要使用-i参数。最新发布的是0.7版,猛击这里下载

MySQL DBA们,你是如何做备份的呢?欢迎到这里探讨

$innobackupex-1.5.1 --user=root --stream=tar /bak/ --slave-info | gzip > /bak/bak_mysql.tar.gz

InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
All Rights Reserved.

This software is published under
the GNU GENERAL PUBLIC LICENSE Version 2, June 1991.

IMPORTANT: Please check that the backup run completes successfully.
           At the end of a successful backup run innobackup
           prints "innobackup completed OK!".

innobackupex: Using mysql  Ver 14.12 Distrib 5.0.67, for redhat-linux-gnu (x86_64)
 using  EditLine wrapper
innobackupex: Using mysql server version 5.0.67-log

innobackupex: Created backup directory /bak
090625 15:23:00  innobackupex: Starting mysql with options: --unbuffered --user=root
090625 15:23:00  innobackupex: Connected to database with mysql child process (pid=3431)
090625 15:23:04  innobackupex: Connection to database server closed

090625 15:23:04  innobackupex: Starting ibbackup with command:
xtrabackup --backup --suspend-at-end --log-stream --target-dir=./
innobackupex: Waiting for ibbackup (pid=3565) to suspend
innobackupex: Suspend file '/opt/mysqldata/xtrabackup_suspended'

xtrabackup: suspend-at-end is enabled.
xtrabackup: uses posix_fadvise().
xtrabackup: cd to /opt/mysqldata
xtrabackup: Target instance is assumed as followings.
xtrabackup:   innodb_data_home_dir = /opt/mysqldata
xtrabackup:   innodb_data_file_path = ibdata1:10G;ibdata2:10G
xtrabackup:   innodb_log_group_home_dir = ./
xtrabackup:   innodb_log_files_in_group = 4
xtrabackup:   innodb_log_file_size = 104857600
xtrabackup: use O_DIRECT
xtrabackup: Stream mode.
>> log scanned up to (0 3053406941)

090625 15:23:06  innobackupex: Continuing after ibbackup has suspended

innobackupex: Starting to backup InnoDB tables and indexes
innobackupex: from original InnoDB data directory '/opt/mysqldata'
innobackupex: Backing up as tar stream 'ibdata1'
>> log scanned up to (0 3053416714)
...这里省略若干行
>> log scanned up to (0 3054123851)
tar: ibdata1: file changed as we read it
innobackupex: Backing up as tar stream 'ibdata2'
>> log scanned up to (0 3054142116)
...这里省略若干行
>> log scanned up to (0 3054618483)
innobackupex: Backing up file '/opt/mysqldata/test/sp.ibd'
innobackupex: Backing up file '/opt/mysqldata/test/tmp_dy.ibd'
innobackupex: Backing up files '/opt/mysqldata/testdb/*.ibd' (206 files)
>> log scanned up to (0 3054638401)
>> log scanned up to (0 3054668860)
tar: testdb/group_group_thread_0027.ibd: file changed as we read it
>> log scanned up to (0 3054695015)
>> log scanned up to (0 3054928216)
tar: testdb/group_thread_reply_0007.ibd: file changed as we read it
>> log scanned up to (0 3054952588)
>> log scanned up to (0 3055005439)
tar: testdb/group_user_0001.ibd: file changed as we read it
>> log scanned up to (0 3055028610)
>> log scanned up to (0 3055044650)
tar: testdb/group_user_0006.ibd: file changed as we read it
>> log scanned up to (0 3055060461)
innobackupex: Backing up file '/opt/mysqldata/testdb/comments.ibd'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb.ibd'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_content.ibd'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_ids.ibd'
090625 15:29:17  innobackupex: Starting mysql with options: --unbuffered --user=root
090625 15:29:17  innobackupex: Connected to database with mysql child process (pid=5458)
>> log scanned up to (0 3055072495)
090625 15:29:21  innobackupex: Starting to lock all tables...
>> log scanned up to (0 3055087148)
>> log scanned up to (0 3055119993)
090625 15:29:39  innobackupex: All tables locked and flushed to disk

090625 15:29:39  innobackupex: Starting to backup .frm, .MRG, .MYD, .MYI,
innobackupex: .TRG, .TRN, and .opt files in
innobackupex: subdirectories of '/opt/mysqldata'
innobackupex: Backing up file '/opt/mysqldata/test/sp.frm'
innobackupex: Backing up file '/opt/mysqldata/test/tmp_dy.frm'
innobackupex: Backing up files '/opt/mysqldata/testdb/*.{frm,MYD,MYI,MRG,TRG,TRN,opt}' (207 files)
innobackupex: Backing up file '/opt/mysqldata/testdb/comments.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_content.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/testdb_ids.frm'
innobackupex: Backing up file '/opt/mysqldata/testdb/db.opt'
innobackupex: Backing up files '/opt/mysqldata/mysql/*.{frm,MYD,MYI,MRG,TRG,TRN,opt}' (52 files)
090625 15:29:40  innobackupex: Finished backing up .frm, .MRG, .MYD, .MYI, .TRG, .TRN, and .opt files

innobackupex: Resuming ibbackup

xtrabackup: The latest check point (for incremental): '0:3054881736'
>> log scanned up to (0 3055120013)
xtrabackup: Transaction log of lsn (0 3053102766) to (0 3055120013) was copied.
090625 15:29:44  innobackupex: All tables unlocked
090625 15:29:44  innobackupex: Connection to database server closed

innobackupex: Backup created in directory '/bak/'
innobackupex: MySQL binlog position: filename '', position
innobackupex: MySQL slave binlog position: master host '127.0.0.1',
filename 'mysql-bin.000006', position 227207755
090625 15:29:44  innobackupex: innobackup completed OK!
innobackupex: You must use -i (--ignore-zeros) option for extraction of the tar stream.

本文网址:http://www.ningoo.net/html/2009/using_xtrabackup_backup_mysql_database.html

分享到:
评论

相关推荐

    基于xtrabackup的MySQL数据库备份及还原Shell脚本.zip

    本教程将详细介绍如何使用`xtrabackup`结合Shell脚本来实现MySQL数据库的备份与还原。 首先,我们需要理解`xtrabackup`的工作原理。`xtrabackup`通过读取InnoDB的数据文件和Redo日志,生成一个完整的物理备份。由于...

    xtrabackup备份数据库脚本

    该脚本资源是使用xtrabackup对mysql做定时备份使用的,方便大家下载学习,如果过有是问题可以私信我,关于xtrabackup我也是没有太深入的了解,还有很多需要学习的地方,作为开发人员,也需要了解一些简单的运维知识

    使用Xtrabackup进行MySQL备份

    总的来说,Xtrabackup是MySQL数据库备份的理想选择,特别是在大型数据库和高可用性环境中。其高效、无锁的备份机制,灵活的增量备份,以及易于集成到自动化流程中的特性,都使其成为管理MySQL数据库不可或缺的工具。

    mysql数据库自动定时备份

    MySQL数据库的自动定时备份是数据库管理中的重要环节,它确保了数据的安全性和可恢复性,尤其是在发生意外情况如系统故障、硬件损坏或人为错误时。本教程将详细讲解如何设置MySQL数据库的自动定时备份,包括步骤、所...

    定时备份mysql数据库

    定时备份MySQL数据库是一项必不可少的任务,确保在出现意外情况如硬件故障、软件错误或人为操作失误时,能够快速恢复到正常状态。本篇文章将详细介绍如何配置定时备份MySQL数据库,包括每日、每周和每月的备份策略。...

    mysqldump java远程备份mysql数据库 cmd备份

    下面将详细介绍如何通过CMD(命令提示符)和Java来使用mysqldump进行MySQL数据库的备份。 ### CMD备份 在Windows系统中,我们通常使用CMD(命令提示符)来执行mysqldump命令。首先,确保MySQL服务器已运行,并且...

    xtrabackup备份还原MySQL数据库

    《使用Xtrabackup备份还原MySQL数据库的详解》 MySQL数据库在企业级应用中扮演着至关重要的角色,为了确保数据的安全性和可恢复性,定期备份是必不可少的。本文将详细探讨如何使用Xtrabackup工具进行MySQL数据库的...

    实时增量备份 、 XtraBackup 备份 、 MySQL 主从同步 、 总结和答疑

    本文将详细介绍 MySQL 实时增量备份和 XtraBackup 备份技术,并结合实际案例,演示如何使用 binlog 日志恢复删除的表记录。 MySQL 实时增量备份 MySQL 实时增量备份是指在 MySQL 服务器上实时记录所有的数据库...

    Mysql数据库备份恢复测试报告-xtrabackup.docx

    MySQL数据库的备份与恢复是确保数据安全性的重要环节。在本测试报告中,主要涉及了全量备份和增量备份的恢复过程,并对恢复后的数据进行了验证。以下是对这些知识点的详细说明: 1. **全量备份**:全量备份是数据库...

    xtrabackup备份恢复shell脚本

    在MySQL数据库管理中,数据安全至关重要,而定期备份和有效的恢复策略是保障数据安全的关键环节。Xtrabackup是一款开源的、针对InnoDB存储引擎的热备份工具,它能够在不锁定数据库的情况下进行完整备份。本文将详细...

    MySQL从入门到高级系列视频.zip

    7.Xtrabackup备份Mysql数据库一.mp4 8.Xtrabackup备份Mysql数据库二.mp4 9.MySQL数据库主从原理讲解.mp4 10.MySQL高效架构读写分离配置.mp4 11.MySQL主从集群构建及故障切换.mp4 12.使用Binlog日志快速恢复MySQL数据...

    基于xtrabackup8.0的数据库压缩可配置的备份脚本

    基于xtrabackup8.0的数据库备份脚本,支持全库压缩备份、排除指定数据库压缩备份以及指定数据库压缩备份。备份规则:周一至周六增量备份,周日全库备份,自动管理备份和备份日志。如果有格式问题,应该是windows的...

    XtraBackup 备份与恢复实例讲解.docx

    XtraBackup 备份与恢复实例讲解 XtraBackup 是 Percona 公司开发的一款开源的 MySQL ...通过对 XtraBackup 的参数选项的了解,我们可以更好地使用 XtraBackup 来备份和恢复 MySQL 数据库,确保数据的安全和可靠性。

    通过xtrabackup2.4.4恢复mysql数据库percona-xtrabackup-24-2.4.4-1.el7.x86

    《使用Xtrabackup 2.4.4恢复MySQL数据库》 在MySQL数据库管理中,数据的安全性和可恢复性是至关重要的。Percona Xtrabackup是一款强大的开源工具,专为InnoDB和XtraDB存储引擎提供热备份解决方案。本文将详细阐述...

    使用xtrabackup实现mysql备份

    **Xtrabackup**是Percona公司提供的一款开源、高效的数据备份工具,它主要用于MySQL数据库,特别是InnoDB存储引擎的备份与恢复。Xtrabackup的主要特点是能够在不锁定数据库的情况下进行热备份,这意味着在备份过程中...

    NBU备份恢复Mysql+Mysql安装部署

    NBU备份恢复Mysql+Mysql安装部署

    使用Xtrabackup进行MySQL备份2

    Xtrabackup是Percona公司开发的一款高效、可靠的MySQL数据库备份工具,特别适用于InnoDB和XtraDB存储引擎的物理热备份。它在备份过程中具有以下显著特点: 1. **备份过程快速且可靠**:Xtrabackup能够在不影响...

    定时备份MySQL数据库.pdf

    定时备份MySQL数据库是确保数据安全的重要环节,尤其是在可能发生数据丢失或损坏的情况下,定期备份能够保证业务的连续性和数据的完整性。 MySQL本身并不内置定时备份功能,但可以通过第三方工具或系统级别的任务...

Global site tag (gtag.js) - Google Analytics