mysql使用xtrabackup方式复制过滤某一个数据库

news2024/11/24 4:00:00

需求:

搭建一个新的从库,只复制过滤源端数据库里的其中一个数据库workflow到新实例上。

一 操作步骤

1.1 在目标端新建一个数据库实例

1.2 在源端做备份

/home/urman-agent/bin/xtrabackup --defaults-file=/data/mysql/etc/13314/my.cnf --target-dir=workflow_bak_0514  --user=root --password=密码 --socket=/data/mysql/data/13314/mysqld.sock --databases=workflow --backup

1.3 将备份文件拷贝到目标端

scp  -r workflow_bak_0514 目标端ip:/data/mysql/data/13320_temp/

1.4 恢复

1.4.1 prepare

#在目标端进行prepare应用redo log

/home/urman-agent/bin/xtrabackup --prepare --export --target-dir=/data/mysql/data/13320_temp/workflow_bak_0514

1.4.2 生成cfg文件

/home/urman-agent/bin/xtrabackup --export --target-dir=/data/mysql/data/13320_temp/workflow_bak_0514

这样就在workflow目录下看到有cfg文件。

1.4.3 远程备份源端库表结构(空表)

mysqldump -h 源端数据库ip -P 源端ip -u root -p --single-transaction --databases workflow --set-gtid-purged=off -d > /opt/233_13314_kb.bak

1.4.4 在目标端导入空表

mysql -u root -p < /opt/233_13314_kb.bak

1.4.5 丢弃表空间

#生成sql

select concat('alter table ',table_name,' discard tablespace;') from information_schema.`TABLES` where table_schema='workflow'

#执行生成的sql

1.4.6 将备份文件里的ibd文件,cfg文件拷贝到目标端数据库目录下

[root@mysql-235 workflow]# pwd

/data/mysql/data/13320_temp/workflow_bak_0514/workflow

cp *.cfg /data/mysql/data/13316/workflow/

cp *.ibd /data/mysql/data/13316/workflow/

1.4.7 改文件属主

cd /data/mysql/data/13316/workflow

ls -ltr 看下现有文件的属主,将刚拷贝过来的cfg,ibd等文件也改成一样的属主,比如,这里是:

chown -R actiontech-mysql:mysql *

1.4.8 导入表空间

#生成sql

select concat('alter table ',table_name,' import tablespace;') from information_schema.`TABLES` where table_schema='workflow'

#执行生成的sql

1.5 配置主从复制

1.5.1 加过滤参数

#修改从库的配置文件

vi my.cnf

添加:

replicate_wild_do_table=workflow.%

#重启从库,使参数生效,示例:

systemctl stop mysqld_13316

systemctl start mysqld_13316

1.5.2 配置主从复制

1.5.2.1 set gtid_purged

获取备份文件里的xtrabackup_binlog_info

reset master;

set global gtid_purged='上面获取的位置';

1.5.2.2 change master

change master to master_host='主库ip',master_port=主库端口,master_user='universe_op',master_password='密码',master_auto_position=1;

start slave;

show slave status ;

1.5.3 手动同步函数,存储过程,触发器,事件等

手动同步下,最好是割接那天再手动同步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

redis缓存穿透、缓存击穿、缓存雪崩

一、缓存 缓存是数据交换的缓冲区&#xff0c;是存储数据的临时地方&#xff0c;一般读写性能较高。 如浏览器会把静态资源先加载到浏览器缓存中&#xff0c;tomcat中有应用层缓存等&#xff0c;则数据库也有数据库缓存。 缓存的作用&#xff1a; 降低后端负载提高读写效率…

ES8基本命令

ElasticSearch是面向文档型数据库 构造类似于数据库&#xff1a;indexes(索引库数据库)-->types(类型表)-->documents(文档行)-->field(字段字段) 但是在7.X开始&#xff0c;Type已经开始被废弃。 正排索引&#xff1a;根据主键id关联内容&#xff0c;然后再找关键字…

微服务—Redis实用篇-黑马头条项目-达人探店功能(使用set与zset实现)

微服务—Redis实用篇-黑马头条项目-达人探店功能(使用set与zset实现) 1、达人探店 1.1、达人探店-发布探店笔记 发布探店笔记 探店笔记类似点评网站的评价&#xff0c;往往是图文结合。对应的表有两个&#xff1a; tb_blog&#xff1a;探店笔记表&#xff0c;包含笔记中的标…

Liunx基础命令 - mkdir命令

mkdir命令 – 创建目录文件 mkdir命令来自英文词组”make directories“的缩写&#xff0c;其功能是用来创建目录文件。使用方法简单&#xff0c;但需要注意若要创建的目标目录已经存在&#xff0c;则会提示已存在而不继续创建&#xff0c;不覆盖已有文件。而目录不存在&#…

路径规划算法:基于蜉蝣优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于蜉蝣优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于蜉蝣优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化算法蜉蝣…

Linux 无网环境下离线安装rpm

概述 搭建了私有yum仓库&#xff0c;想实现无网环境下Docker rpm离线安装的方法 1. 使用和配置清华源 2. 免安装下载rpm包及其依赖 3. 寻找特定的rpm包并补全依赖 清华的清华源 名称连接帮助文档备注主页清华大学开源软件镜像站 | Tsinghua Open Source MirrorAOSP | 镜像站使…

Swagger 3.0 与 Springboot 集成

springboot版本:2.3.12.RELEASE swagger版本:3.0.0 1&#xff1a;pom文件添加如下代码: <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version>&…

离线安装 Docker + Docker registry(Docker仓库)

概述 通过私有yum仓库安装docker 具体内容&#xff1a; 1. 构建私有镜像仓库 2. 准备rpm包 3. 安装部署 4. ansible 安装 卸载 5. shell 脚本安装 卸载 6. 网页连接 7. 构建docker 私有仓库 1. 构建私有镜像仓库 构建简单的yum私有仓库请参考如下文档 http://t.csdn.cn/22bmb…

用chatGPT写chatGPT教学方案

最近从机器学习的原理、数学推理、主流模型架构、chatGPT的Prompt策略&#xff0c;也实际体验了各种AIGC工具&#xff0c;算是较为系统的学习了chatGPT的前世今身&#xff0c;想着有很多人应该跟我一样&#xff0c;没有编程基础、也没有成为chatGPT专家的希望&#xff0c;仅仅通…

LeetCode_Day3 | 反转链表/移除链表的元素/设计个链表

LeetCode_链表 203.移除链表元素1. 题目描述2. 直接使用原表删除1. 思路2. 代码实现 3. 使用虚拟头节点删除1. 思路2. 代码实现 707.设计链表1.题目描述2.单链表&#xff1a;虚拟头节点设计1. 思路2. 代码实现及部分逻辑解释3. 需要注意的点 206.反转链表1.题目描述2. 双指针法…

BIO阻塞模型

作者&#xff1a;V7 博客&#xff1a;https://www.jvmstack.cn 一碗鸡汤 少年辛苦终身事&#xff0c;莫向光阴惰寸功。 —— 杜荀鹤 同步阻塞IO 在介绍阻塞和非阻塞之前先说明一下同步和异步。我们可以将同步和异步看做是发起IO请求的两种方式。同步IO指的是用户空间&…

项目美术部门敏捷开发流程及工具

前言 在项目开发中&#xff0c;针对美术部门的特性和工作风格&#xff0c;合理使用多种工具进行项目管理和进度控制非常必要。如果项目执行中有异地协作、美术内/外包、多项目并行的情况&#xff0c;正确的规划和管理的优势会更加凸显。 而合理使用整套的综合管理工具会让项目…

Day969.如何拆分代码 -遗留系统现代化实战

如何拆分代码 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于如何拆分代码的内容。 当完成了项目的战略设计&#xff0c;大体设计出目标架构&#xff0c;又根据系统的现状&#xff0c;决定采用“战术分叉”的方式进行微服务拆分之后&#xff0c;接下来的难点就变成…

用GPT-4 写2022年天津高考作文能得多少分?

正文共 792 字&#xff0c;阅读大约需要 3 分钟 学生必备技巧&#xff0c;您将在3分钟后获得以下超能力&#xff1a; 积累作文素材 Beezy评级 &#xff1a;B级 *经过简单的寻找&#xff0c; 大部分人能立刻掌握。主要节省时间。 推荐人 | Kim 编辑者 | Linda ●图片由Lexica …

vue工程搭建

1&#xff1a;查看vue及npm版本&#xff1a; 2&#xff1a;执行npm init nuxt-app <project-name>语句&#xff1a; 若出现npm ERR! code ENOLOCAL 请执行如下语句&#xff1a; npm cache verify npm cache clean --force npm i -g npm npm install -g cnpm --regis…

数据库(mysql语句)循环语句

例题1&#xff1a; 20到50之间能被5除余1的所有自然数的和 EDECLARE i int DECLARE s int SET s0 SET i20 白WHILE i <50 BEGIN IF(i%51) SET s s i SET ii1 END PRINT20到50之间能被5除余1的所有自然数的和是cast(s as varchar(20)) 例题2&#xff1a; 实现如下图 代码…

设计模式之门面模式(Facade Pattern 外观模式)

一、模式定义 门面模式(Facade Pattern)&#xff1a;外部与一个子系统的通信必须通过一个统一的外观对象进行&#xff0c;为子系统中的一组接口提供一个一致的界面&#xff0c;外观模式定义了一个高层接口&#xff0c;这个接口使得这一子系统更加容易使用。门面模式又称为外观…

中国南方Oracle用户组沙龙活动:大环境下的Oracle数据库的机遇与挑战

2023年03月12日(周日)在杭州索菲特西湖大酒店 (浙江省杭州市上城区西湖大道333 号)&#xff0c;中国南方Oracle用户组创始人之一&#xff1a;周亮&#xff08;zhou liang&#xff09;组织举办了主题为《大环境下的Oracle数据库的机遇与挑战》活动&#xff0c;大约有50名左右的人…

YMatrix 5.0 故障自动转移功能新实现,运维更方便!

前言 分布式数据库一般都实现了数据多副本的存储以保证数据的高可用性。在多副本存储的基础上&#xff0c;通过切换活跃的存储副本来实现故障转移&#xff0c;是常见的做法。 YMatrix 5.0 实现了在数据库集群所有数据分片上的故障自动转移&#xff0c;完全实现了数据库集群的…

一文带你深入了解分布式数据的复制原理!!

在分布式数据系统中&#xff0c;复制是一种重要的能力。简单来说&#xff0c;复制就是将数据的副本存储在多个位置&#xff0c;通常是在不同的服务器或节点上。这样做有几个关键的优点&#xff1a; 使得数据与用户在地理上接近&#xff08;从而减少延迟&#xff09;&#xff0…