mysql备份innobackupex

1、安装

从官方下载 http://www.percona.com/downloads/XtraBackup/

可选择编译版与二进制版,二进制版仍需安装依赖perl-DBD-MySQL

yum install cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr bison libtool ncurses5-devel
yum install perl-DBD-MySQL


编译安装

cmake -DBUILD_CONFIG=xtrabackup_release && make -j4
make install


2、备份

使用前需要设置环境变量

PATH= /usr/local/xtrabackup/bin :$PATH
export PATH

备份命令

innobackupex --defaults- file = /data/server/mysql_5 .5.39 /my .cnf --user=root --password=123456 --host=127.0.0.1 /data/data/mysqlbak


注意参数 defaults-file 必须放在第一位,为原始数据库配置文件。innobackupex通过配置文件寻找mysql的data目录。

/data/data/mysqlbak为备份目标目录。

备份完成后,记录主从信息(屏幕和文件均有输出)。

MySQL binlog position: filename 'mysql-bin.000284' , position 827024292


数据导出完成后,使用二进制文件修复

innobackupex --apply-log /data/data/mysqlbak/2015-02-05_14-02-44/


3、建立主从

根据业务需要可以降低事务优先级,配置只读(只限制非super权限账号)

# 设定默认的事务隔离级别.可用的级别如下:从左到右,由低到高
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
#可选设置,降低事务隔离级别
#transaction_isolation = READ-COMMITTED
##从机设置
relay-log=relay-bin
 
#可选设置 只读
#read_only
server-id= 2


在主机上执行命令,确保主机serverid已经设置(可选)

#SHOW variables LIKE 'server_id' ;
#SET GLOBAL server_id= 1 ;


复制配置文件,修改data路径,端口等信息,启动从机数据库

/data/server/mysql_5. 5.39 /bin/mysqld --defaults-file=/data/data/mysqlbak/ 2015 - 02 -05_14- 02 - 44 /my.cnf --user=mysql  &


设置主从

CHANGE MASTER TO
MASTER_HOST= '127.0.0.1' ,
MASTER_USER= 'root' ,
MASTER_PASSWORD= '123456' ,
MASTER_LOG_FILE= 'mysql-bin.000284' ,
MASTER_PORT=3336,
MASTER_LOG_POS=827024292;
 
START SLAVE;
SHOW SLAVE STATUS\G


验证:从机出现两个yes,并且seconds_behind_master数值为0时,同步完成。


4、参考文献


http://rfyiamcool.blog.51cto.com/1030776/1016636
https://www.centos.bz/tag/xtrabackup/
http://www.percona.com/doc/percona-xtrabackup/2.2/
 
http://www.percona.com/doc/percona-xtrabackup/2.2/howtos/setting_up_replication.html#replication-howto


5、复制从库

如果复制一个从库,连接主库,备份命令添加参数 --slave-info


innobackupex --defaults- file = /data/server/mysql_5 .5.39 /my .cnf  --slave-info --user=root  --host=127.0.0.1 /data/data/mysqlbak


查看xtrabackup_slave_info,得出连接主库的信息

# cat xtrabackup_slave_info
CHANGE MASTER TO MASTER_LOG_FILE= 'mysql-bin.000005' , MASTER_LOG_POS= 362


你可能感兴趣的:(mysql,备份,innobackupex)