MySQL 复制全解析 Part 11 使用xtrabackup建立MySQL复制
前情提要
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://www.zhaibibei.cn/mysql/tutorial/
觉得文章不错的欢迎关注,转发,收藏~
- 一次XSS突破的探险
- 如何使用Hue创建Spark2的Oozie工作流(补充)
- 如何基于CDSW基础镜像定制Docker
- OVSDB介绍及在OpenDaylight中的调用
- 如何在CDH集群的非元数据库节点安装MySQL5.7.12
- PySpark数据类型转换异常分析
- SQLI-LABS 更新帖(二)
- 如何重置Hue用户密码
- 如何使用R连接Hive与Impala
- Equation Group泄露工具之vBulletin无文件后门分析
- 如何使用CDSW在CDH集群通过sparklyr提交R的Spark作业
- 如何使用Beeline连接Impala
- 微软公式编辑器系列漏洞分析(一):CVE-2017-11882
- 预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须在2019年4月升级真相
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- 微信小程序的自定义组件(入门)
- linux 中关于PAM的点滴笔记
- 49. Vue使用axios发送Ajax请求
- UCSC-browser学习:创建自己的track hubs
- 五分钟快速搭建Serverless免费邮件服务
- 基于qiankun落地部署微前端爬”坑“记
- Android推送的群魔乱舞
- 用百度接口实现图片文字识别,并打包成安装包软件
- 视野前端(二)V8引擎是如何工作的
- 【干货】Chrome插件(扩展)开发全攻略
- 超性感的React Hooks(一):为何她独具魅力
- 超性感的React Hooks(二)再谈闭包
- Python全栈(一)基础之11.函数(3)
- Python全栈(二)数据结构和算法之1.算法和数据结构引入
- Android开发(第一行代码 第二版) 常见异常和解决办法(基于Android Studio)(一)