innodb备份和恢复

安装:
wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-1.6.3/Linux/binary/x86_64/xtrabackup-1.6.3.tar.gz
tar zxvf xtrabackup-1.6.3.tar.gz
cd xtrabackup-1.6.3/bin/
cp innobackupex /usr/sbin/
cp xtrabackup* /usr/sbin/

要在/etc/my.cnf中指定数据库的存放位置:
[root@squid bin]#vim /etc/my.cnf
[root@squid bin]#datadir=/home/mysql


接下来开始备份:
[root@squid bin]#mkadir -p /back_data
[root@squid bin]# innobackupex --user=root --defaults-file=/etc/my.cnf --database=test /back_data/ | gzip 1>/back_data/test.tar.gz
[root@squid bin]#cd /back_data
[root@squid back_data]# ll
total 4
drwxr-xr-x 3 root root 4096 Aug 2 19:14 2011-08-02_19-14-12

3,恢复
innobackupex --apply-log /back_data/test/
innobackupex --copy-back /back_data/test/
innobackupex --user=root --password=123456  --copy-back /back_data/test/
###################copy-back失败后直接把数据文件拷到mysql数据目录下,也能正常使用
mv ibdata* /home/mysql/
mv ib_logfile* /home/mysql/
cd /home/mysql/
chown mysql:mysql ib*
service mysqld restart
注意:重启数据库失败 需要修改data目录中的恢复某些目录以及文件的所有者为mysql用户
#############################################
下边是这几个命令的用法和格式:

innobackupex-1.5.1 [--sleep=MS] [--compress[=LEVEL]] [--include=REGEXP] [--user=NAME]
[--password=WORD] [--port=PORT] [--socket=SOCKET] [--no-timestamp]
[--ibbackup=IBBACKUP-BINARY] [--slave-info] [--stream=tar]
[--scpopt=OPTIONS-FOR-SCP]
[--defaults-file=MY.CNF]
[--databases=LIST] [--remote-host=HOSTNAME] [--no-lock] BACKUP-ROOT-DIR


innobackupex-1.5.1 --apply-log [--use-memory=MB] [--uncompress] [--defaults-file=MY.CNF]
[--export] [--redo-only] [--ibbackup=IBBACKUP-BINARY] BACKUP-DIR


innobackupex-1.5.1 --copy-back [--defaults-file=MY.CNF] BACKUP-DIR

--defaults-file=[MY.CNF] 指定 MySQL 的配置文件
--apply-log 为恢复做准备
--redo-only --apply-log组, 强制备份日志时只 redo ,跳过 rollback. 这在做增量备份时非常必要
--copy-back 将数据和日志从备份目录恢复到原始目录
--remote-host 在指定该参数的情况下, 备份的文件将通过 SSH 连接创建于指定的主机上
--stream=[tar] 备份文件输出格式, tar 时使用 tar4ibd , 该文件可在 XtarBackup binary 文件中获得
--tmpdir=DIRECTORY 当有指定--remote-host or --stream时, 事务日志临时存储的目录, 默认采用 MySQL 配置文件中所指定的临时目录tmpdir

--use-momory=MB 这个用于 ibbackup 子处理 , 即恢复时可用上 MB 的内存
--parallel=NUMBER-OF-THREADS 这个用于 xtrabackup 子处理, 即备份时可并行运行的传输数据的进程
--sleep=MS 用于 ibbackup, 指在每 copy 1MB 的数据后sleep 的时间(unit:MS). 可缓和在运行 ibbackup 所导致的磁盘 I/O 问题.
--compress=[LEVEL] 用于ibbackup, 至在备份数据时压缩的级别. 0-9
include=REGEXP只备份匹配的表的数据
--databases=LIST 指定备份的库, 格式如”db_name.[table_name] db_name2[table_name] ….”. 没有指定时, MyISAM 和 InnoDB 的表都会备份

##############################################

你可能感兴趣的:(职场,InnoDB,休闲,xtrabackup)