怎么使用Xtrabackup备份MySQL数据库
这篇文章主要为大家展示了“怎么使用Xtrabackup备份MySQL数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么使用Xtrabackup备份MySQL数据库”这篇文章吧。
MySQL数据库的备份,一直是个比较头痛的问题。各种工具虽然不少,但一个真正好用易用的,却又非常难找。Mysqldump做为数据的逻辑备份工具还行,但是无法进行在线热备,而没有物理备份工具,在数据量比较大的时候,恢复的时间也会长得无法接受。InnoDB倒是有个商业的InnoDB Hotbackup,可以对InnoDB引擎的表实现在线热备。最近发现了一个工具,percona出品的Xtrabackup,是InnoDB Hotbackup的一个开源替代品,可以在线对InnoDB/XtraDB引擎的表进行物理备份,试用了一下,非常的不错,值得向MySQL DBA们推荐。
下面是一个实际备份的例子,采用了gzip将备份流进行压缩,约20GB的数据库,压缩后大小为340MB,当然,压缩后的大小跟数据库中实际使用的空间是相关的。备份时间约6分44秒。
[@more@]
innobackupex是参考了InnoDBHotbackup的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.gzInnoDBBackupUtilityv1.5.1-xtrabackup;Copyright2003,2009InnobaseOy.AllRightsReserved.ThissoftwareispublishedundertheGNUGENERALPUBLICLICENSEVersion2,June1991.IMPORTANT:Pleasecheckthatthebackupruncompletessuccessfully.Attheendofasuccessfulbackupruninnobackupprints"innobackupcompletedOK!".innobackupex:UsingmysqlVer14.12Distrib5.0.67,forredhat-linux-gnu(x86_64)usingEditLinewrapperinnobackupex:Usingmysqlserverversion5.0.67-loginnobackupex:Createdbackupdirectory/bak09062515:23:00innobackupex:Startingmysqlwithoptions:--unbuffered--user=root09062515:23:00innobackupex:Connectedtodatabasewithmysqlchildprocess(pid=3431)09062515:23:04innobackupex:Connectiontodatabaseserverclosed09062515:23:04innobackupex:Startingibbackupwithcommand:xtrabackup--backup--suspend-at-end--log-stream--target-dir=./innobackupex:Waitingforibbackup(pid=3565)tosuspendinnobackupex:Suspendfile'/opt/mysqldata/xtrabackup_suspended'xtrabackup:suspend-at-endisenabled.xtrabackup:usesposix_fadvise().xtrabackup:cdto/opt/mysqldataxtrabackup:Targetinstanceisassumedasfollowings.xtrabackup:innodb_data_home_dir=/opt/mysqldataxtrabackup:innodb_data_file_path=ibdata1:10G;ibdata2:10Gxtrabackup:innodb_log_group_home_dir=./xtrabackup:innodb_log_files_in_group=4xtrabackup:innodb_log_file_size=104857600xtrabackup:useO_DIRECTxtrabackup:Streammode.>>logscannedupto(03053406941)09062515:23:06innobackupex:Continuingafteribbackuphassuspendedinnobackupex:StartingtobackupInnoDBtablesandindexesinnobackupex:fromoriginalInnoDBdatadirectory'/opt/mysqldata'innobackupex:Backingupastarstream'ibdata1'>>logscannedupto(03053416714)...这里省略若干行>>logscannedupto(03054123851)tar:ibdata1:filechangedaswereaditinnobackupex:Backingupastarstream'ibdata2'>>logscannedupto(03054142116)...这里省略若干行>>logscannedupto(03054618483)innobackupex:Backingupfile'/opt/mysqldata/test/sp.ibd'innobackupex:Backingupfile'/opt/mysqldata/test/tmp_dy.ibd'innobackupex:Backingupfiles'/opt/mysqldata/testdb/*.ibd'(206files)>>logscannedupto(03054638401)>>logscannedupto(03054668860)tar:testdb/group_group_thread_0027.ibd:filechangedaswereadit>>logscannedupto(03054695015)>>logscannedupto(03054928216)tar:testdb/group_thread_reply_0007.ibd:filechangedaswereadit>>logscannedupto(03054952588)>>logscannedupto(03055005439)tar:testdb/group_user_0001.ibd:filechangedaswereadit>>logscannedupto(03055028610)>>logscannedupto(03055044650)tar:testdb/group_user_0006.ibd:filechangedaswereadit>>logscannedupto(03055060461)innobackupex:Backingupfile'/opt/mysqldata/testdb/comments.ibd'innobackupex:Backingupfile'/opt/mysqldata/testdb/testdb.ibd'innobackupex:Backingupfile'/opt/mysqldata/testdb/testdb_content.ibd'innobackupex:Backingupfile'/opt/mysqldata/testdb/testdb_ids.ibd'09062515:29:17innobackupex:Startingmysqlwithoptions:--unbuffered--user=root09062515:29:17innobackupex:Connectedtodatabasewithmysqlchildprocess(pid=5458)>>logscannedupto(03055072495)09062515:29:21innobackupex:Startingtolockalltables...>>logscannedupto(03055087148)>>logscannedupto(03055119993)09062515:29:39innobackupex:Alltableslockedandflushedtodisk09062515:29:39innobackupex:Startingtobackup.frm,.MRG,.MYD,.MYI,innobackupex:.TRG,.TRN,and.optfilesininnobackupex:subdirectoriesof'/opt/mysqldata'innobackupex:Backingupfile'/opt/mysqldata/test/sp.frm'innobackupex:Backingupfile'/opt/mysqldata/test/tmp_dy.frm'innobackupex:Backingupfiles'/opt/mysqldata/testdb/*.{frm,MYD,MYI,MRG,TRG,TRN,opt}'(207files)innobackupex:Backingupfile'/opt/mysqldata/testdb/comments.frm'innobackupex:Backingupfile'/opt/mysqldata/testdb/testdb.frm'innobackupex:Backingupfile'/opt/mysqldata/testdb/testdb_content.frm'innobackupex:Backingupfile'/opt/mysqldata/testdb/testdb_ids.frm'innobackupex:Backingupfile'/opt/mysqldata/testdb/db.opt'innobackupex:Backingupfiles'/opt/mysqldata/mysql/*.{frm,MYD,MYI,MRG,TRG,TRN,opt}'(52files)09062515:29:40innobackupex:Finishedbackingup.frm,.MRG,.MYD,.MYI,.TRG,.TRN,and.optfilesinnobackupex:Resumingibbackupxtrabackup:Thelatestcheckpoint(forincremental):'0:3054881736'>>logscannedupto(03055120013)xtrabackup:Transactionlogoflsn(03053102766)to(03055120013)wascopied.09062515:29:44innobackupex:Alltablesunlocked09062515:29:44innobackupex:Connectiontodatabaseserverclosedinnobackupex:Backupcreatedindirectory'/bak/'innobackupex:MySQLbinlogposition:filename'',positioninnobackupex:MySQLslavebinlogposition:masterhost'127.0.0.1',filename'mysql-bin.000006',position22720775509062515:29:44innobackupex:innobackupcompletedOK!innobackupex:Youmustuse-i(--ignore-zeros)optionforextractionofthetarstream.
以上是“怎么使用Xtrabackup备份MySQL数据库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。