mysql备份 增量式_MySQL的备份方式(xtrabackup 增量备份)

1.mysqldump效率比较低,备份和还原的速度都很慢,任何数据插入和更新操作都会被挂起2.mysqlhotcopymysqlhotcopy 是专门针对myisam 数据表进行备份,备份的过程中,任何数据插入和更新操作都会被挂起3.准备一台从服务器,专门做备份(master-slave方式)4.xtrabackup 是 percona 的一个开源项目,可热备份innodb ,XtraDB,MyISAM(会锁表)Xtrabackup有两个主要的工具:xtrabackup、innobackupexxtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁相比之下 xtrabackup 备份比较靠谱下载 xtrabackup-1.6-245.rhel5.x86_64.rpm安装 rpm -ivh  xtrabackup-1.6-245.rhel5.x86_64.rpm备份(xtrabackup只备份数据文件,并不备份数据表结构(.frm))xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/bak/恢复(执行两次)xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/bak/xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/bak/二、 增量备份对比innobackupex和xtrabackup,innobackupex操作起来更方便,但是innobackupex会有短暂的锁表.xtrabackup备份还有另一个重要特性:增量备份.1. 全量备份xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/bak/2. 增量备份xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/bak/ --incremental-basedir=/bak/increm/在增量备份的目录下,数据文件都是以.delta结尾的。增量备份只备份上一次全量备份之后被修改过的page,所以增量备份一般只暂用较少的空间。3. 增量备份恢复分别对全量、增量备份各做一次prepare操作。xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/bak/xtrabackup --prepare --target-dir=/bak/ --incremental-dir=/bak/increm//bak/下的数据文件就可以直接放到你的MySQL数据目录下,恢复数据了。一般的备份 比如不会换全新的环境 用xtrabackup 就可以了在不停生产的情况下备份数据给slave首先确保两边的/etc/my.cnf 文件里边都指定了datadir接着备份数据:innobackupex-1.5.1   --defaults-file=/etc/my.cnf --stream=tar  --user=root --password=**** --port=3306 --slave-info /bak | gzip>/bak/bak_mysql.tar.gz将bak_mysql.tar.gz cp 到另一台机器上scp  /bak/bak_mysql.tar.gz解压bak_mysql.tar.gz到/baktar -ixvf mysqlbak.tar(一定要加i 参数  我也不知道为什么)恢复先 --apply-log  再 --copy-backinnobackupex-1.5.1 --defaults-file=/etc/my.cnf  --user=root  --password=XXXX --port=3306 --apply-log /bak--copy-back这里容易报错(innobackupex-1.5.1: Copying directory '/bak/tech_soft_drp_ywmy'innobackupex-1.5.1: Copying directory '/bak/mysql'mkdir: 无法创建目录 “arb/mysql/mysql”: 文件已存在innobackupex-1.5.1: Error: Failed to create directory 'arb/mysql/mysql' : 没有那个文件或目录 at /usr/bin/innobackupex-1.5.1 line 336.)我也不知道咋整。好像是官方1bug 见我看了看/bak目录  决定把mysql  test 等自带的一些库直接rm 了。执行已下命令成功innobackupex-1.5.1  --defaults-file=/etc/my.cnf  --user=root  --password=XXXX --port=3306  --copy-back /bak重启数据库服务又有问题(110719 19:30:16 mysqld_safe Starting mysqld daemon with databases from arb/mysql110719 19:30:16 [Note] Plugin 'FEDERATED' is disabled.110719 19:30:16 InnoDB: The InnoDB memory heap is disabled110719 19:30:16 InnoDB: Mutexes and rw_locks use GCC atomic builtins110719 19:30:16 InnoDB: Compressed tables use zlib 1.2.3110719 19:30:16 InnoDB: Using native AIO110719 19:30:16 InnoDB: Initializing buffer pool, size = 2.0G110719 19:30:16 InnoDB: Completed initialization of buffer pool110719 19:30:16  InnoDB: Operating system error number 13 in a file operation.InnoDB: The error means d does not have the access rights toInnoDB: the directory.InnoDB: File name ./ib_logfile0InnoDB: File operation call: 'open'.InnoDB: Cannot continue operation.110719 19:30:16 mysqld_safe mysqld from pid file arb/mysql/r410.pid ended)直接将mysql 目录 chmod 777 -R mysql 重启服务好了

将my.cnf 配置成server-id=2  主从配置CHANGE MASTER TO MASTER_HOST='xxxx',MASTER_USER='xx',MASTER_PASSWORD='xxx',MASTER_LOG_FILE='mysql-bin.000047',MASTER_LOG_POS=43446639MASTER_LOG_FILE这个值去/bak 下面的 xtrabackup_binlog_info 找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值