一、使用Percona Xtrabackup创建MySQL slave库

MySQL Server 版本:

  Server version: 5.7.10-log MySQL Community Server (GPL)

Percona Xtrabackup 版本:

  innobackupex version 2.4.2 Linux (x86_64) (revision id: 8e86a84)

Percona Xtrabackup 安装参见下列连接:

http://www.cnblogs.com/zhenxing/p/5416296.html

说明:

[master]:表示在master库上执行的语句

[slave]:表示在slave库上执行的语句
--执行master库的全备
[master]innobackupex --parallel=4 --compress /data/backup/full --no-timestamp

--将日志附加到备份中
[master]innobackupex --apply-log --parallel=4 /data/backup/full --no-timestamp

--创建复制用户
[master]create user 'repl'@'172.25.21.%' identified by 'repl';

--授予复制用户replication权限
[master]grant replication slave on *.* to 'repl'@'172.25.21.%';

--传输数据到slave库
[master]scp -r full root@172.25.21.22:/data/backup/
--测试是否能用主库创建的用户连接到主库
[slave]mysql -h172.25.21.11 -urepl -prepl

--查看备份数据中binary log的信息
[slave]cat /data/backup/full/xtrabackup_binlog_info
  mysql-bin.000002 66379412 --进行备份恢复操作
[slave]innobackupex --copy-back --decompress /data/backup/full

--修改恢复后的数据文件目录的权限
[slave]chown -R mysql:mysql /data/mysql_data1

--启动slave库
[slave]service mysqld start --登录到slave库执行下列语句开启同步
[slave]
change master to 
master_host='172.25.21.11',
master_user='repl',
master_password='repl',
master_port=3306,
master_log_file='mysql-bin.000002',
master_log_pos=66379412; start slave; show slave status\G;

从库级联

M1-S1-S2 架构

其中S1既作为M1的从库,同时也作为S2的主库

操作步骤

只需要将原本M1-S1架构中的S1库做同样的备份操作,将备份传输到S2从库,并执行与上面类似的操作,只需S2改变change master to 用来指定到S1的IP地址及binlog postion即可。

注意:不知是否为BUG导致,创建完成后S2从库对M1(S1)的变化只记录了DDL操作,DML操作不同步,不知是否为参数引起的问题,或由于S2从库生成后未重启导致。

使用GTID模式的replication

将M1-S1-S2中S1的同步M1的模式改为基于GTID方式

Step 1: Synchronize the servers

[master/slave]  SET @@global.read_only = ON;

Step 2: Stop both servers

[master/slave] service mysqld stop

Step 3: Restart both servers with GTIDs enabled

#vi /etc.my.cnf   --master/slave中都增加或修改下列参数
log_bin = mysql-bin.log
gtid_mode = on
log_slave_updates=
enforce_gtid_consistency =
[master/slave] service mysqld start

Step 4: Direct the slave to use the master

[slave]
change master to
master_host='172.25.21.11',
master_user='repl',
master_password='repl',
master_port=,
master_auto_position=;
[slave]START SLAVE;

Step 5: Disable read-only mode

[master]SET @@global.read_only = OFF;

Step 6:Check Replication Status

[master] show master status;
[master] show processlist; [slave] show processlist;
[slave] show slave status\G;

从库错误问题解决

--错误信息
Last_SQL_Error: Error 'Operation CREATE USER failed for 'repl'@'172.25..%'' on query. Default database: ''. Query: 'CREATE USER 'repl'@'172.25..%' IDENTIFIED WITH 'mysql_native_password' AS '*A424E797037BF97C19A2E88CF7891C5C2038C039''
--由于从库上已经存在了repl这个用户,需要首先删除这个用户在启动slave,如下操作
--执行语句 [slave]drop user 'repl'@'172.25.21.%';
[slave]stop slave;
[slave]start slave;
[slave]show slave status\G;

使用Percona Xtrabackup创建MySQL slave库的更多相关文章

  1. 如何用Percona XtraBackup进行MySQL从库的单表备份和恢复【转】

    前提 应该确定采用的是单表一个表空间,否则不支持单表的备份与恢复. 在配置文件里边的mysqld段加上 innodb_file_per_table = 1 环境说明: 主库:192.168.0.1 从 ...

  2. Percona Xtrabackup备份mysql全库及指定数据库(完整备份与增量备份)

    原文地址:http://www.tuicool.com/articles/RZRnq2 Xtrabackup简介 Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对In ...

  3. Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

    Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)     文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 inno ...

  4. Percona Xtrabackup备份mysql(转)

    add by zhj:另外,参考了Xtrabackup之innobackupex备份恢复详解,我用的是Xtrabackup2.2.6版本, 可以成功备份和恢复指定的数据库. 原文:http://www ...

  5. 创建MySQL从库

    我们知道Oracle有DataGuard实时备份数据.能够做主备切换,而MySQL也有自己的一套备库方案.称之为主从复制. 搭建MySQL从库是为了实时同步主库数据,同一时候也能够分担主库的读压力.对 ...

  6. Percona XtraBackup 关于 MySQL备份还原的详细测试

    一. Percona XtraBackup 的优点. (1)无需停止数据库进行InnoDB热备: (2)增量备份MySQL: (3)流压缩传输到其它服务器: (4)在线移动表: (5)能够比较容易地创 ...

  7. Percona Xtrabackup 备份MySQL 实例(转)

    老规矩,开场白,刚开始用mysqldump,备份100G+的数据库,再加上服务器繁忙,备份速度像蜗牛似的,于是寻找更高效的备份方法.网上都说用xtrabackup比较适合备份大的数据库,而且备份效率也 ...

  8. 使用 Xtrabackup 部署 MySQL 从库

    数据库备份和恢复是数据库管理工作中非常重要的一个部分. 笔者常用的两个备份工具是mysqldump (逻辑备份)和 Xtrabackup (物理备份). 对于前者一般是用在凌晨的业务低峰期的定时任务中 ...

  9. 用Xtrabackup实现MySQL全库备份与恢复

    xtrabackup包含两个主要的工具,即xtrabackup和innobackupex,二者区别如下: (1)xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisa ...

随机推荐

  1. 2017 ACM/ICPC Asia 南宁区 L The Heaviest Non-decreasing Subsequence Problem

    2017-09-24 20:15:22 writer:pprp 题目链接:https://nanti.jisuanke.com/t/17319 题意:给你一串数,给你一个处理方法,确定出这串数的权值, ...

  2. RMQ问题 - ST表的简单应用

    2017-08-26 22:25:57 writer:pprp 题意很简单,给你一串数字,问你给定区间中最大值减去给定区间中的最小值是多少? 用ST表即可实现 一开始无脑套模板,找了最大值,找了最小值 ...

  3. 06_MySQL DQL_分组查询

    # 分组查询/*语法: select 分组函数,列(group by中出现的字段) from 表 [where 筛选条件] group by 分组的列表(单个字段,多个字段,函数,表达式) [havi ...

  4. bash-文件表达式

    一点例子: #!/bin/bash # test-file: Evaluate the status of a file FILE=~/.bashrc if [ -e "$FILE" ...

  5. tp5---auth权限搭建2

    1.auth权限 composer auth库 下载完成之后 根据auth.php中所提及怎样创建表,就怎样建表 2.安利一个简单的建表操作 根据composer下载里的文件注释的代码,将其直接放到s ...

  6. git代码版本回退

    git log 用于查看我们修改提交的快照记录(commit记录),然后会有个commit修改记录的id编号,该命令显示从最近到最远的提交日志,我们可以看到3次提交记录,如下: git checkou ...

  7. 性能测试TPS目标值确定-二八原则

    在性能测试中通常使用二八原则来量化业务需求. 二八原则:指80%的业务量在20%的时间里完成. TPS(QPS)=并发数/响应时间 例:如某个公司1000个员工,在周五下午3点-5点有90%的员工登陆 ...

  8. Graphviz(转载)

    简述 原文: http://www.tuicool.com/articles/vy2Ajyu 本文翻译自 Drawing Graphs using Dot and Graphviz 1. 许可 Cop ...

  9. centos7 卸载安装失败的mysql7

    1.查询现在的服务器上面的mysql已经安装了什么内容: rpm -qa |grep -i mysql 2.开始卸载执行命令: yum remove mysql-community-common-5. ...

  10. spring boot 中logback多环境配置

    spring boot 配置logback spring boot自带了log打印功能,使用的是Commons logging 具体可以参考spring boot log 因此,我们只需要在resou ...