mysql 热备份

xtrabackup mysql 的备份和恢复

1.准备

安装依赖

yum install perl-DBD-MySQL perl-Time-HiRes  libaio  libaio-devel -y

下载程序

wget http://www.percona.com/redir/downloads/XtraBackup/XtraBackup-2.2.3/binary/tarball/percona-xtrabackup-2.2.3-4982-Linux-x86_64.tar.gz

2.安装

tar -zxf percona-xtrabackup-2.2.3-4982-Linux-x86_64.tar.gz 

cd percona-xtrabackup-2.2.3-Linux-x86_64/bin/

cp * /usr/bin

安装完成

3.使用

全库备份

innobackupex --defaults-file=/home/xiaohe/mysql-3306/etc/my.cnf --user=root --password=123456 /home/xiaohe/mysql-3306/backup/fall

全库备份及压缩

innobackupex --defaults-file=/home/xiaohe/mysql-3306/etc/my.cnf --user=root --password=123456 --stream=tar /home/xiaohe/backup/fall/ | gzip >         /home/xiaohe/backup/fall/`date +%F_%H-%M-%S`.tar.gz

增量备份

innobackupex -defaults-file=/home/xiaohe/mysql/etc/my.cnf -user=root -password=123456 -incremental -incremental-basedir=/home/xiaohe/mysql/backup/fall/2014-12-06_19-03-51/ /home/xiaohe/mysql/backup/inc1

备份单个数据库

innobackupex --defaults-file=/home/xiaohe/mysql/etc/my.cnf --database=qf_op --user=root /home/xiaohe/mysql/backup/

全库恢复

先将备份的包解压,比如

恢复tar打包的文件

tar -izxf back.tar.gz –C /home/xiaohe/mysql_backup/db

--必须加i参数 , 恢复使用上面的语句后面指定的是back.tar.gz 的解压目录 没有指定路径的话

保险起见,这个目录权限设置为777
mkdir –p /home/xiaohe/mysql_backup/db
恢复第一步 应用日志

innobackupex --defaults-file=/home/xiaohe/mysql-3306/etc/my.cnf --user=root --apply-log /home/xiaohe/backup/fall/db

拷贝数据

innobackupex --defaults-file=/home/xiaohe/mysql-3306/etc/my.cnf --user=root --copy-back /home/xiaohe/backup/db

恢复之前清空/home/xiaohe/mysql/data/ 否则会报错

配置文件尽量和之前保持一致,如果不一致按照下面的修改即可

vim /home/xiaohe/mysql/etc/my.conf

mysql 配置文件应该符合如下配置

[mysqld]
datadir=/home/xiaohe/mysq/data
innodb_data_home_dir = /home/xiaohe/mysql/data
innodb_log_group_home_dir = /home/xiaohe/mysql/data
innodb_log_file_size = 5M

这一步时间有点长

修改权限

chown –R xiaohe:xiaohe /home/xiaohe/mysql-3336

启动数据库

登陆 检查数据

posted @ 2017-04-25 22:18  boy215  阅读(909)  评论(1编辑  收藏  举报