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
启动数据库
登陆 检查数据
赵客缦胡缨,吴钩霜雪明。
银鞍照白马,飒沓如流星。