ITPub博客

首页 > 数据库 > 数据库开发技术 > MySQL 复制全解析 Part 11 使用xtrabackup建立MySQL复制

MySQL 复制全解析 Part 11 使用xtrabackup建立MySQL复制

原创 数据库开发技术 作者:ibsbforever 时间:2019-06-27 21:27:00 0 删除 编辑

 

往期专题请查看
这是一个坚持Oracle,Python,MySQL原创内容的公众号

前情提要

MySQL复制全解析 Part 1 实验环境介绍
MySQL复制全解析 Part 2 一步步搭建基于二进制文件位置的MySQL复制
MySQL复制全解析 Part 3 MySQL半同步复制设置
MySQL 复制全解析 Part 4 使用备库搭建MySQL复制
MySQL复制全解析 Part 5  MySQL GTID的格式和存储
MySQL复制全解析 Part 6 MySQL GTID 生命周期
MySQL复制全解析 Part 7 gtid_next和gtid_purged系统变量解析
MySQL复制全解析 Part 8  GTID Auto-Positioning
MySQL 复制全解析 Part 9 一步步搭建基于GTID的MySQL复制
MySQL 复制全解析 Part10 基于GTID的MySQL复制的一些限制


实验环境

此次实验的环境如下

  • MySQL 5.7.25

  • Redhat 6.10

  • 操作系统账号:mysql

  • 数据库复制账号:repl

  • 复制格式:基于行的复制

IP地址 主从关系 复制账号 复制格式
11.12.14.29 主库 repl Row-Based
11.12.14.30 从库(半同步) repl Row-Based

这节我们的内容为MySQL的复制,MySQL复制有两种形式

  • 基于二进制日志文件位置

  • 基于GTID

前面我们已经说完了两种形式的搭建方式,其中备份数据库使用的是mysqldump工具

如果碰到非常大数据库,使用mysqldump进行备份还原是很缓慢的,这时可以使用xtrabackup进行备份和还原

针对xtrabackup我们已经在上一期中说过了,有兴趣的可以去了解

本节内容只针对需要修改的阶段进行说明,其他阶段不变

1. 备份主库阶段

这里我们通过xtrabackup工具进行备份,而不是使用mysqldump

innobackupex  -S /oradata/data/mysql/data/mysql.sock --user=backup --password=123456   /oradata/data/mysql/xtra

备份完成在备份目录下有xtrabackup_binlog_info文件


该文件有所需的二进制文件位置及GTID信息

2. 拷贝备份文件至备库

scp -r /oradata/data/mysql/xtra/2019-06-26_15-03-50 root@11.12.14.30:/oradata/data/mysql/xtra/
chown -R mysql:mysql /oradata/data/mysql/xtra/2019-06-26_15-03-50

3.还原从库阶段

这里我们使用xtrabackup工具进行还原,而不是使用mysqldump

innobackupex --apply-log --use-memory=1G  /oradata/data/mysql/xtra/2019-06-26_15-03-50 

关闭数据库清空数据文件目录后执行copy-back

innobackupex --copy-back  /oradata/data/mysql/xtra/2019-06-26_15-03-50

4. 开启同步

这里根据备份文件的xtrabackup_binlog_info文件的内容进行同步

也可通过datadir目录下的xtrabackup_info文件查看


4.1 基于二进制文件位置

mysql> change master to master_host='11.12.14.29', master_user='repl', master_password='rpl',master_log_file='mysql-bin.000002',master_log_pos= 185333118;
mysql > start slave;

4.2 基于GTID的复制

mysql> reset master;
mysql>set  @@GLOBAL.GTID_PURGED='e99ae99a-811d-11e9-9ca2-0050568cef02:1-59387'
mysql> change master to master_host='11.12.14.29', master_user='repl', master_password='rpl',master_auto_position = 1;
mysql> start slave

5. 参考资料

http:///mysql/tutorial/

可点击阅读原文获得更好的阅读体验,推荐在PC端阅读


也可在公众站内搜索中回复 MySQL复制全解析  搜索相关内容

或直接打开个人网页搜索


http://


往期专题包括:


  • Python 自动化运维

  • MySQL  安装

  • mysqldump命令详解

  • mysqlbinlog命令详解

  • xtrabackup工具详解

  • 打造属于自己的监控系统

  • Python爬虫基础

  • Oracle awr报告全解析

  • Oracle ASM全解析

  • Oracle Data Guard全解析

  • Oracle ClusterWare全解析

  • Oracle常见参数解析

  • Oracle常见故障处理

  • Oracle SQL优化案例


觉得文章不错的欢迎关注,转发,收藏~

原文作者:宅必备;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
Oracle,MySQL DBA,Python自动化运维

注册时间:2019-01-29

  • 博文量
    245
  • 访问量
    243936