分类: LINUX
2018-09-01 15:59:33
xtrabackup工具做数据库的备份,只能备份innodb引擎数据,但若想要备份myisam引擎数据,后来使用curl写了一个插件叫innobackupex工具. 例如mysql数据库已经在运行了,看看数据库里面都有哪些数据库,(/data/mysql)目录,一个数据库可以创建多个库. 可以使用MySQLdump去备份数据,但缺点是比较慢,xtrabackup工具备份很快,且是把mysql数据库里面的数据所有都备份(相当于是把磁盘的数据块拷贝一份),xtrabackup备份比MySQLdump备份要快很多,一般企业里面备份数据不会使用MySQLdump备份数据,因为慢,浪费时间.
安装XtraBackup#下载XtraBackup[ src]# wget
[ src]# tar -zxvf xtrabackup-0.7.tar.gz
[ src]# cd xtrabackup-0.7
#编译 [ xtrabackup]# ./configure --prefix=/usr/local/xtrabackup
●编译报错
说明: 缺少ncurses安装包
checking for tgetent in -lncurses... no checking for tgetent in -lcurses... no checking for tgetent in -ltermcap... no checking for tgetent in -ltinfo... no checking for termcap functions library... configure: error: No curses/termcap library found
●解决
说明ncurses安装包
[ xtrabackup-0.7]# yum list|grep ncurses
[ xtrabackup-0.7]# yum -y install ncurses-devel
●重新编译
[ xtrabackup-0.7]# ./configure --prefix=/usr/local/xtrabackup
说明:千万不要make install,而是接着下面的步骤
[ xtrabackup-0.7]# make
●进入innobase/xtrabackup/目录
[ xtrabackup-0.7]# cd innobase/xtrabackup/
[ xtrabackup]# make &;&; make install
说明:这步后,就会在你的/usr/bin目录里安装上两个工具:xtrabackup,innobackupex-1.5.1
xtrabackup可以在不加锁的情况下备份innodb数据表,不过此工具不能操作myisam。 innobackupex-1.5.1是一个脚本封装,能同时处理innodb和myisam,但在处理myisam时需要加一个读锁。/usr/bin/xtrabackup --backup --target-dir=/backup/mysqlbackup这里的target-dir 就是要备份到的目录,这个工具不用指定数据库名的,默认会把所有innodb引擎的数据库全部备份。 等备份完了,你会看到 target-dir 下会有所有innodb引擎的库,但是奇怪的是并没有备份 .frm 的文件,这个没有关系,需要你手动拷贝一份即可。