mysql怎么进行备份
这篇文章主要介绍“mysql怎么进行备份”,在日常操作中,相信很多人在mysql怎么进行备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql怎么进行备份”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
MySQL 5.5.47
备份路径 /backup/
apt-getinstallpercona-xtrabackup11一、 全量备份
root@iZu1dc59z8tZ:/var/lib#innobackupex--defaults-file=/etc/mysql/my.cnf--user=root--password=123123/backup/InnoDBBackupUtilityv1.5.1-xtrabackup;Copyright2003,2009InnobaseOyandPerconaLLCand/oritsaffiliates2009-2013.AllRightsReserved.ThissoftwareispublishedundertheGNUGENERALPUBLICLICENSEVersion2,June1991.GetthelatestversionofPerconaXtraBackup,documentation,andhelpresources:http://www.percona.com/xb/ubuntu16021711:17:53innobackupex:ConnectingtoMySQLserverwithDSN'dbi:mysql:;mysql_read_default_file=/etc/mysql/my.cnf;mysql_read_default_group=xtrabackup'as'root'(usingpassword:YES).16021711:17:53innobackupex:ConnectedtoMySQLserver16021711:17:53innobackupex:Executingaversioncheckagainsttheserver...16021711:17:53innobackupex:Done.IMPORTANT:Pleasecheckthatthebackupruncompletessuccessfully.Attheendofasuccessfulbackupruninnobackupexprints"completedOK!".innobackupex:Usingmysqlserverversion5.5.47-0ubuntu0.14.04.1innobackupex:Createdbackupdirectory/backup/2016-02-17_11-17-5316021711:17:53innobackupex:Startingibbackupwithcommand:xtrabackup_55--defaults-file="/etc/mysql/my.cnf"--defaults-group="mysqld"--backup--suspend-at-end--target-dir=/backup/2016-02-17_11-17-53--tmpdir=/tmpinnobackupex:Waitingforibbackup(pid=30486)tosuspendinnobackupex:Suspendfile'/backup/2016-02-17_11-17-53/xtrabackup_suspended_2'xtrabackup_55version2.1.8forPerconaServer5.5.35Linux(x86_64)(revisionid:undefined)xtrabackup:usesposix_fadvise().xtrabackup:cdto/var/lib/mysqlxtrabackup:usingthefollowingInnoDBconfiguration:xtrabackup:innodb_data_home_dir=./xtrabackup:innodb_data_file_path=ibdata1:10M:autoextendxtrabackup:innodb_log_group_home_dir=./xtrabackup:innodb_log_files_in_group=2xtrabackup:innodb_log_file_size=5242880>>logscannedupto(3233814)[01]Copying./ibdata1to/backup/2016-02-17_11-17-53/ibdata1[01]...done>>logscannedupto(3233814)xtrabackup:Creatingsuspendfile'/backup/2016-02-17_11-17-53/xtrabackup_suspended_2'withpid'30487'16021711:17:55innobackupex:Continuingafteribbackuphassuspended16021711:17:55innobackupex:Startingtolockalltables...16021711:17:55innobackupex:Alltableslockedandflushedtodisk16021711:17:55innobackupex:Startingtobackupnon-InnoDBtablesandfilesinnobackupex:insubdirectoriesof'/var/lib/mysql'innobackupex:Backingupfiles'/var/lib/mysql/phpmyadmin/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}'(37files)>>logscannedupto(3233814)innobackupex:Backingupfiles'/var/lib/mysql/mysql/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}'(72files)innobackupex:Backingupfiles'/var/lib/mysql/performance_schema/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}'(18files)innobackupex:Backingupfiles'/var/lib/mysql/blog/*.{frm,isl,MYD,MYI,MAD,MAI,MRG,TRG,TRN,ARM,ARZ,CSM,CSV,opt,par}'(29files)16021711:17:56innobackupex:Finishedbackingupnon-InnoDBtablesandfiles16021711:17:56innobackupex:Waitingforlogcopyingtofinishxtrabackup:Thelatestcheckpoint(forincremental):'3233814'xtrabackup:Stoppinglogcopyingthread..>>logscannedupto(3233814)xtrabackup:Creatingsuspendfile'/backup/2016-02-17_11-17-53/xtrabackup_log_copied'withpid'30487'xtrabackup:Transactionlogoflsn(3233814)to(3233814)wascopied.16021711:17:57innobackupex:Alltablesunlockedinnobackupex:Backupcreatedindirectory'/backup/2016-02-17_11-17-53'16021711:17:57innobackupex:Connectiontodatabaseserverclosed16021711:17:57innobackupex:completedOK!12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667681234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
completed OK! 表示备份成功。
还有很多其他常用的参数。
–stream=tar 压缩类型, 默认是输出到终端,如果保存为文件
innobackupex--defaults-file=/etc/mysql/my.cnf--user=root--password=***/backup/--stream=tar>/backup/`date+"%Y%m%d_%H%M%S"`.tar#orgzip压缩innobackupex--defaults-file=/etc/mysql/my.cnf--user=root--password=***/backup/--stream=tar|gzip>/backup/`date+"%Y%m%d_%H%M%S"`.tar.gz123123
–parallel=4 –throttle=400 并行个数,根据主机配置选择合适的,默认是1个,多个可以加快备份速度。
二、 全量恢复恢复备份文件要保证mysql datadir文件为空,否则会报错
测试恢复servicemysqlstop#停止MySQLmv/var/lib/mysql//var/lib/mysql_bak#备份原mysql的datadirmkdir/var/lib/mysql123123恢复第一步:应用日志
如果加了压缩,需要解压
mkdir/backup/20160217_114521tar-ixvf/backup/20160217_114521.tar.gz-C/backup/20160217_1145211212
innobackupex--defaults-file=/etc/mysql/my.cnf--apply-log/backup/20160217_11452111恢复第二步:拷贝文件到MySQL datadir
innobackupex--defaults-file=/etc/mysql/my.cnf--copy-back/backup/20160217_11452111恢复第三步:修改文件权限,启动mysql服务。
chownmysql:/var/lib/mysql-Rservicemysqlstart1212三、 增量备份
增量备份需要基于全备,先假设我们已经有了一个全备(/backup/20160217_114521),在该全表的基础上做增量备份。
第一次在数据库插入一条数据,在全备上做增量备份
innobackupex--defaults-file=/etc/mysql/my.cnf--user=root--password=123123--incremental-basedir=/backup/20160217_114521--incremental/backup/11
incremental-basedir=全备的目录
–incremental=增量备份的目录
第二次在数据库插入一条数据,在第一次增量备份上做增量备份
innobackupex--defaults-file=/etc/mysql/my.cnf--user=root--password=123123--incremental-basedir=/backup/2016-02-17_12-15-30--incremental/backup/11
incremental-basedir=在第一次增量备份的目录--incremental=增量备份的目录1212
备份目录下,有一个文件xtrabackup_checkpoints记录着备份信息,全备的信息如下:
root@iZu1dc59z8tZ:/backup#cat20160217_114521/xtrabackup_checkpointsbackup_type=full-preparedfrom_lsn=0to_lsn=3233814last_lsn=3233814compact=0root@iZu1dc59z8tZ:/backup#cat2016-02-17_12-15-30/xtrabackup_checkpointsbackup_type=incrementalfrom_lsn=3233814to_lsn=3234430last_lsn=3234430compact=0root@iZu1dc59z8tZ:/backup#cat2016-02-17_12-1/xtrabackup_checkpoints2016-02-17_12-15-30/2016-02-17_12-17-31/root@iZu1dc59z8tZ:/backup#cat2016-02-17_12-17-31/xtrabackup_checkpointsbackup_type=incrementalfrom_lsn=3234430to_lsn=3234537last_lsn=3234537compact=012345678910111213141516171819201234567891011121314151617181920
从上面可以看出,增量备份的from_lsn正好等于全备的to_lsn。
四、 增量恢复//测试恢复servicemysqlstop#停止MySQLmv/var/lib/mysql//var/lib/mysql_bak#备份原mysql的datadirmkdir/var/lib/mysql12341234恢复第一步:应用所有增量日志1,应用全量的日志
innobackupex--defaults-file=/etc/mysql/my.cnf--apply-log--redo-only/backup/20160217_114521112,应用增量的日志
//第一次增量innobackupex--defaults-file=/etc/mysql/my.cnf--apply-log--redo-only/backup/20160217_114521--incremental-dir=/backup/2016-02-17_12-15-30/1212
……
//最后一次增量innobackupex--defaults-file=/etc/mysql/my.cnf--apply-log/backup/20160217_114521--incremental-dir=/backup/2016-02-17_12-17-31/1212恢复第二步:拷贝文件到MySQL datadir
innobackupex--defaults-file=/etc/mysql/my.cnf--copy-back/backup/20160217_11452111恢复第三步:修改文件权限,启动mysql服务。
chownmysql:/var/lib/mysql-Rservicemysqlstart
到此,关于“mysql怎么进行备份”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。