当前位置:Gxlcms > mysql > 使用Xtrabackup备份MySQL数据库-

使用Xtrabackup备份MySQL数据库-

时间:2021-07-01 10:21:17 帮助过:26人阅读

mysqldump支持在线备份,不过是逻辑备份,效率比较差。xtrabackup是开源的MySQL备份工具,物理备份,效率很不错。下载编译好的二

mysqldump支持在线备份,,不过是逻辑备份,效率比较差。

xtrabackup是开源的MySQL备份工具,物理备份,效率很不错。
下载编译好的二进制文件,解压,设置环境变量。MySQL版本为5.1.38,my.cnf里的[mysqld]里的datadir参数为datadir=/data

1.[root@DB1 bin]#wget
2.[root@DB1 bin]#tar xzvf xtrabackup-0.9.tar.gz
3.[root@DB1 bin]#cd xtrabackup-0.9/bin/
4.[root@DB1 bin]#export PATH=$PATH:/root/xtrabackup-0.9/bin
备份所有数据库,备份目录为/tmp/backup/,innobackupex自动在这个目录下生成 年-月-日_时-分-秒 这类目录,目录下即为备份的文件。

01.[root@DB1 bin]# ./innobackupex-1.5.1 /tmp/backup/ --defaults-file=/etc/my.cnf
02.InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
03.All Rights Reserved.
04.

05....省略N行...
06.

07.innobackupex: Backup created in directory '/tmp/backup/2009-10-09_04-35-13'
08.innobackupex: MySQL binlog position: filename 'mysql-bin.000001', position 722
09.091009 04:35:45 innobackupex: innobackup completed OK!
关闭MySQL,并删除MySQL datadir目录下的所有文件。

1.[root@DB1 bin]# service mysqld stop
2.Shutting down MySQL... [确定]
3.[root@DB1 bin]# rm -rf /data/*
生成ib_logfile文件

1.[root@DB1 bin]# ./innobackupex-1.5.1 --apply-log /tmp/backup/2009-10-09_04-35-13/ --defaults-file=/etc/my.cnf
2.

3....省略N行...
4.

5.091009 04:37:11 innobackupex: innobackup completed OK!
这个命令后,/tmp/backup/2009-10-09_04-35-13/目录生成了以下两个文件。
ib_logfile0 ib_logfile1

接下来就是将整个文件夹里的内容复制到mysql datadir目录,并重新设置权限即可恢复。

01.[root@DB1 bin]# ./innobackupex-1.5.1 --copy-back /tmp/backup/2009-10-09_04-35-13/ --defaults-file=/etc/my.cnf
02.InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy.
03.All Rights Reserved.
04.

05....省略N行...
06.

07.091009 04:40:07 innobackupex: innobackup completed OK!
08.[root@DB1 bin]# chown mysql:mysql /data/ -R
09.[root@DB1 bin]# service mysqld start
10.Starting MySQL. [确定]

linux

人气教程排行