利用当天的xtrabackup全量备份文件搭建slave库

环境:

单台机器开启2个mysql实例 3306和3307,
3306 和3307实例都开启了Gtid,并且要保证server-id不同

全量备份命令:

time innobackupex --defaults-file=/data/mysql5.7/my3306.cnf  -ubackupuser -p123456ccs  --host=127.0.0.1  -S /tmp/3306.sock /data/backup/

当天的xtrabackup全量备份文件记录的binlog的位置点:

[[email protected] ~]# cat /data/backup/2019-08-16_17-59-10/xtrabackup_binlog_info
mysql-bin.000009    117268  efdcb9c7-bf3d-11e9-b0bf-90b11c20454d:1-876

恢复备份到新的实例mysql3307的上:

innobackupex  --apply-log /data/backup/2019-08-16_17-59-10/
innobackupex --defaults-file=/data/mysql5.7/my3307.cnf --copy-back /data/backup/2019-08-16_17-59-10/

授权新实例data目录mysql的权限:

chown -R mysql.mysql /data/mysql5.7/3307/data 

提示:/data/mysql5.7/my3307.cnf 配置文件要开启gtid,并且要注释掉定时器:#event_scheduler = ON,默认定时器是关闭的

启动mysql 3307 实例:

/usr/local/mysql5.7/bin/mysqld --defaults-file=/data/mysql5.7/my3307.cnf &

mysql> show variables like ‘event_scheduler‘
    -> ;
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF   |
+-----------------+-------+
1 row in set (0.01 sec)

[[email protected] data]# mysql -uroot -p‘lnmp.org#25199‘ -S /tmp/3307.sock -e "select @@port"
Warning: Using a password on the command line interface can be insecure.
+--------+
| @@port |
+--------+
|   3307 |
+--------+

在3306库上创建复制账户:

grant replication slave *.* to ‘rep‘@‘192.168.0.%‘ identified by ‘654321testrep‘;flush privileges;

清除3307实例的Gtid信息:

mysql> reset master;

当天的xtrabackup全量备份文件记录的binlog的位置点以及事物gtid执行结束的位置:

[[email protected] ~]# cat /data/backup/2019-08-16_17-59-10/xtrabackup_binlog_info
mysql-bin.000009    117268  efdcb9c7-bf3d-11e9-b0bf-90b11c20454d:1-876

3307 slave实例上要让gtid号从efdcb9c7-bf3d-11e9-b0bf-90b11c20454d:1-876 以后开始记录:

  mysql> set global gtid_purged=‘efdcb9c7-bf3d-11e9-b0bf-90b11c20454d:1-876‘;
  mysql> show master status\G
*************************** 1. row ***************************
             File: mysql-bin.000001
         Position: 154
     Binlog_Do_DB:
 Binlog_Ignore_DB:
Executed_Gtid_Set: efdcb9c7-bf3d-11e9-b0bf-90b11c20454d:1-876
1 row in set (0.00 sec)

3307 slave实例上执行:

  CHANGE MASTER TO
  MASTER_HOST=‘192.168.0.1‘,
  MASTER_USER=‘rep‘,
  MASTER_PASSWORD=‘654321testrep‘,
  MASTER_PORT=3306,
  MASTER_AUTO_POSITION = 1;

start slave;show slave status\G

slave库上查看:

[[email protected] data]# mysql -uroot -p‘lnmp.org#25199‘ -S /tmp/3307.sock -e "show slave status\G"|egrep "Slave_IO|Slave_SQL"
Warning: Using a password on the command line interface can be insecure.
               Slave_IO_State: Waiting for master to send event
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
      Slave_SQL_Running_State: Slave has read all relay log; waiting for more update

到此处主从复制搭建完成

原文地址:https://blog.51cto.com/wujianwei/2431148

时间: 2024-08-29 20:29:14

利用当天的xtrabackup全量备份文件搭建slave库的相关文章

利用xtrabackup 全量备份100G的数据恢复到单实例测试

利用xtrabackup 全量备份的mysql5.6.40实例的100G的数据恢复MySQL5.7.24实例上到单实例消耗的时间: 服务器的环境如下: dell r620 双颗CPU,单核心是12核心,内存是72G ,硬盘伪sata接口的企业级的SSD固态硬盘:500G 固态盘型号如下: PD Type: SATA Raw Size: 465.761 GB [0x3a386030 Sectors] Inquiry Data: S3Z3NB0K116201W Samsung SSD 860 EVO

Xtrabackup全量备份与恢复mysql数据库

一.Xtrabackup简单概述: Percona  Xtrabackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 :1.无需停止数据库进行InnoDB热备2.增量备份MySQL3.流压缩到传输到其它服务器4.能比较容易地创建主从同步5.备份MySQL时不会增大服务器

XtraBackup全量备份与恢复MySQL数据

防伪码:没有相当程度的孤独是不可能有内心的平和. 1.概述 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具,支持 MySQl(Oracle).Percona Server 和 MariaDB,并且开源,淘宝的RDS for MySQL的物理备份就是基于XtraBackup做的. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1)xtrabackup是C/C++编译的二进制文件

Xtrabackup全量备份/增量备份脚本

一.全量备份脚本 1.全量备份脚本 #!/bin/bash #Description:xtrabackup complete #Author:created by michael #2017-08-07 v0.1 # USER=root PASSWD=123456 BACKUP_DIR=/backup/mysql/complete DATE=$(date +"%F_%T") [[ -d $BACKUP_DIR ]] || mkdir $DATE_DIR innobackupex --u

Xtrabackup 全量备份脚本

#!/bin/bash #备份文件的名字为当前主机的IP地址+tar.gz,例如172.16.103.1.tar.gz,且每次备份成功之后都会清空本地的备份目录. #相关目录 mkdir -p /xtrabackup/mysql back_dir="/xtrabackup/mysql" backfilename=`ip add | grep "inet" | grep 172 |grep brd |awk -F / '{print $1}' | awk -F&quo

xtrabackup全量备份+binlog基于时间点恢复

1.通过xtrabackup的备份恢复数据库. 2.找到start-position和binlog名称 cat xtrabackup_info 3.导出mysqlbinlog为sql文件,并确定恢复的时间点 mysqlbinlog --no-defaults --start-position=51178055 --stop-datetime='2017-05-22 15:30' -vv mysql-bin.000004 > backup2.sql 4.导入sql source backup2.s

svn全量和增量备份详解

1.svn的安装: yum安装: yum install -y subversion mkdir /data/svn svnadmin create project-1 svnadmin create project-2 用统一配置方法: cp authz passwd  /data/svn cp svnserve.conf /data/svn vim svnserve.conf 修改: anon-access = read  #匿名用户可读 auth-access = write   #授权用

MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损坏的数据进行恢复和还原保证数据不丢失,最小程度地丢失需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 --备份与恢复概述 根据备份的方法可以分为: 1.Hot Backup(热备) 2.Cold Backup(冷备) 3.Warm Backup(温备) Hot Backup是指

MySQL 全量及增量备份,基于xtrabackup 2.3.5

昨天一个pgp加密盘坏了,东西全丢了...,我的笔记啊!我咋怎么2呢.. 备份个脚本吧,方便以后手机查看,话说我都快忘记帐号密码了 备注:脚步恢复时只能恢复到备份前的状态,如果需要恢复到当前状态,还需配合binlog,睡觉就这样 #!/bin/sh #################################################### # AUTHOR : JusonSummer # # VERSION : V1.0.0 # # DATE : 2016-08-13 # # CO