软件官网:www.percona.com
.....
这里使用rpm包安装:
rpm -ivh percona-xtrabackup......rpm
这里完全备份放在/root/full/下
增量备份放在/root/incremental/
数据库数据放在/mydata/data/
备份数据库:
完全备份:
innobackupex --user=root --passwd=???? /root/full/ (完全备份目录)
第一次增量备份:
innobackupex --incremental /root/incremental/ (第一次增量备份放于什么目录)--incremental-basedir=/root/full/完全备份文件
第二次增量备份:
innobackex --incremental /root/incremental/ (第二次增量备份放于什么目录)--incremental-basedir=/root/incrementa/第一次增量备份文件
。。。。。。
还原数据库:
二进制日志备份:
进入mysql>flush logs(二进制日制回滚)并把文件复制到别的目录如cp mysql-bin???? /root/
mysqlbinlog mysql-bin????? > abc.sql(名字自己决定)
恢复数据库前要做一次准备(如把未完成的事务做回滚)后才能用来恢复
先准备完全备份
innobackupex --apply-log --redo-only /root/full/完全备份文件/
如果没有增量备份的话:innobackex --apply-log /root/full/完全备份文件/
再准备第一次增量备份
innobackupex -apply-log --redo-only /root/full/完全备份文件/ --incremental-dir=/root/incremental/第一次增量备份文件/
再准备第二次增量备份
innobackupex -apply-log --redo-only /root/full/完全备份文件/ --incremental-dir=/root/incremental/第二次增量备份文件/
开始恢复:
innobackupex --copy-back /root/full/完全备份文件/
改权限:
chown -R mysql:mysql /mydata/data/
二进制日志恢复
进入mysql>set sql_log_bin=0;
mysql>source /目录/abc.sql;
mysql>set sql_log_bin=1;
退出mysql
完成!!
转载请注明:谷谷点程序 » xtrabackup备份还原mysql数据库的方法