mysql全量备份工具_Mysql备份工具xtraback全量和增量测试

官方网址http://www.percona.com/docs/wiki/percona-xtrabackup:start一,简介和环境说明Xtrabackup是由percona开发的一个开源软件,此软件可以说是innodb热备工

官方网址:start

一,简介和环境说明

Xtrabackup是由percona开发的一个开源软件,此软件可以说是innodb热备工具ibbackup的一个开源替代

品。这个软件是由2个部分组成的:xtrabackup和innobackupex。

Xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表,支持在线热备份,不会锁表;

innobackupex - 封装了xtrabackup,同时可以备份MyISAM数据表,如果你的数据库里有innodb和

myisam存储引擎,只能使用innobackupex。192.168.1.4 主库

192.168.1.5 从库

二、主库上面安装xtrabackup

1、RPM安装:yum install perl-Time-HiRes*

yum install perl-DBD-MySQL -y

wget

rpm -ivh percona-xtrabackup-2.1.9-744.rhel6.x86_64.rpm

2、下载二进制源码包:wget

tar -zxvf percona-xtrabackup-2.1.9.tar.gz

mv  percona-xtrabackup-2.1.9  /usr/loca/xtrabackup

cd /usr/local/xtrabackup/bin

如果你想使用源代码方式安装的话,则会发现 其安装方式有点古怪,这是因为它采用的在MySQL源代码上打补丁构建的方式。

通过源码安装的。环境变量要设置正确

比如 export PATH=$PATH:/usr/local/mysql/bin 如果mysql没有设置到PATH里会报错。

tar zxf xtrabackup-0.8.tar.gz

cd xtrabackup-0.8

./configure

make

进行到这里时,千万别惯性使然接着make install,那样就会接着安装MySQL了,正确方法是接着:

cd innobase/xtrabackup/

make

make install

查看版本号:

4.备份主库

在实施备份时,需要在数据库运行的情况下在线执行,并先提前建立用于备份的路径。mkdir -pv /www/backup

/usr/bin/innobackupex --defaults-file=/etc/my.cnf --user=root --sock=/tmp/mysql.sock [--host=192.168.10.198] --password=123456 --port=3306 /www/back/ 2>/www/backup/backup.log

ps:备份完成了,会在/www/backup/目录下生成一个时间点目录,你也可以加一个--no-timestamp参数不生产这个目录,直接备份到 /www/backup/下面。

ll /www/backup/2014-06-05_10-20-55/查看,你发现xtrabackup会把你数据库datadir下的所有数据文件都复制过来还新增了5个xtrabackup_开头的文件

相关参数说明:

/www/backup/   #备份的目录

2>/www/backup/backup.log   #将备份过程中的输出信息重定向到/www/backup/backup.log

xtrabackup_binlog_info  #记录了你做从库需要change到主库的binlog的位置和pos点

xtrabackup_checkpoints   #存放备份的起始位置和结束位置。

--stream=tar  #告诉xtrabackup,备份需要以tar的文件流方式输出。

--include='test'  #备份包含的库表,如例:意思是要备份test库中所有的表。如果需要全备份,则省略这个参数;如果需要备份test库下的2个表:tableA & tableB,则写成:--include='test.tableA|test.tableB';

再如果test库下只有2个前缀是 table的表,你还可以写成:--include='test.table*'。

--throttle=500   #xtrabackup在备份过程中,IO操作比较多,因此需要限定一下IO操作。以免服务器压力过大.

--socket=/tmp/mysql.sock  #指定mysql.sock所在位置,以便备份进程登录mysql

--apply-log

--redo-only

5、从库安装mysql5.6

主库的mysql是编译安装的,,路径/usr/local/mysql/,直接把主库的安装目录scp过来就可以用,my.cnf也scp过来,日志和datadir目录的宿主一定要是mysql,之后就可以初始化启动库了。scp -r /usr/local/mysql 192.168.1.5:/usr/local/

mkdir /mydata/data -pv

chown -R mysql.mysql /mydata/data  ####datadir数据存放目录

/usr/local/mysql/my.cnf 中修改 server-id = 2

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/mydata/data/ 初始化数据库

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql & 启动数据库

/usr/local/mysql/bin/mysqladmin  --sock=/tmp/mysql.sock -uroot -p123456 shutdown 停库,把datadir目录清空/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

cat /mydata/data/xtrabackup_binlog_info

登录到从库MySQL服务器上面

mysql> show slave status \G

完整数据备份mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| asyncdb            |

| db                 |

| mysql              |

| performance_schema |

| test               |

+--------------------+

6 rows in set (0.00 sec)

模拟故障,具体操作如下:

/usr/local/mysql/bin/mysqladmin  -u root -p shutdown

mv /mydata/data  /tmp/

mkdir /mydata/data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值