当前位置: 首页 > news >正文

09、PT工具用法

目录

1、PT工具原理

2、在线修改表结构

3、使用pt-query-diges分析慢查询

4、使用pt-kill来kill掉一些垃圾SQL

5、pt-table-checksum进行主从一致性排查和修复

6、pt-archiver进行数据归档

7、其他一些pt工具


1、PT工具原理

创建一张与原始表结构相同的临时表 然后对临时表进行表结构变更 通过触发器实现增量数据处理 将原始表中的数据复制到新表中 把原始表重命名为 _x_old,将临时表重命名为x 删除 _xxx_old表,删除3个触发器 表结构变更完成。

使用注意事项:表必须有主键或唯一索引、保证足够空间、原表上不能有触发器。

2、在线修改表结构

示例:

pt工具安装
wget https://downloads.percona.com/downloads/percona-toolkit/3.5.4/binary/redhat/7/x86_64/percona-toolkit-3.5.4-2.el7.x86_64.rpm
yum install percona-toolkit-3.5.4-2.el7.x86_64.rpm
​
创建测试用户测试表
CREATE USER 'pt_osc'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY 'iUdy87G_caq';
GRANT create,drop,alter,insert,delete,select,update,process,replication slave,trigger ON *.* TO 'pt_osc'@'localhost';
​
use martin
CREATE TABLE users_info (
id INT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(50)
);
INSERT INTO users_info (id, name, email) VALUES (1, 'John', 'john@example.com');
INSERT INTO users_info (id, name, email) VALUES (2, 'Jane', 'jane@example.com');
​
可以打开generallog方便观察分析
set global general_log=on
tail -f /data/mysql/log/mysql-general.log

用pt-osc增加字段

增加字段
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "ADD COLUMN age INT" -- D=martin,t=users_info
​
删除列
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "DROP COLUMN age" --execute D=martin,t=users_info
​
修改列类型
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "MODIFY COLUMN email varchar(100)" --execute D=martin,t=users_info
​
修改列名
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "CHANGE COLUMN name user_name varchar(50)" --execute --no-check-alter D=martin,t=users_info
​
添加索引
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "ADD INDEX index_user_name (user_name)" --execute D=martin,t=users_info
​
删除索引
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "DROP INDEX index_user_name" --execute D=martin,t=users_info
​
构造重复数据
INSERT INTO users_info (id, user_name, email) VALUES (3, 'John', 'john1@example.com');
​
使用pt-osc添加唯一索引
pt-online-schema-change -u pt_osc -p 'iUdy87G_caq' -S /tmp/mysql.sock  --alter "ADD unique key uniq_user_name (user_name)" --execute D=martin,t=users_info可以通过这个语句查看添加唯一索引的字段是否有重复值SELECT IF(COUNT(DISTINCT user_name) = COUNT(*),      'Yes, the desired unique index currently contains only unique

相关文章:

09、PT工具用法

目录 1、PT工具原理 2、在线修改表结构 3、使用pt-query-diges分析慢查询 4、使用pt-kill来kill掉一些垃圾SQL 5、pt-table-checksum进行主从一致性排查和修复 6、pt-archiver进行数据归档 7、其他一些pt工具 1、PT工具原理 创建一张与原始表结构相同的临时表 然后对临时…...

华为OD机试E卷 --矩形相交的面积--24年OD统一考试(Java JS Python C C++)

文章目录 题目描述输入描述输出描述用例题目解析JS算法源码Java算法源码python算法源码题目描述 给出3组点坐标(x, y, w, h),-1000<x,y<1000,w,h为正整数。 (x,y, w, h)表示平面直角坐标系中的一个矩形:x, y为矩形左上角坐标点,w, h向右w,向下h。(X, y, w, h)表示x轴…...

C++ 内存分配和管理(八股总结)

C是如何做内存管理的&#xff08;有哪些内存区域&#xff09;? &#xff08;1&#xff09;堆&#xff0c;使用malloc、free动态分配和释放空间&#xff0c;能分配较大的内存&#xff1b; &#xff08;2&#xff09;栈&#xff0c;为函数的局部变量分配内存&#xff0c;能分配…...

如何使用 JSONP 实现跨域请求?

以下是使用 JSONP 实现跨域请求的步骤&#xff1a; 实现步骤&#xff1a; 1. 客户端设置 在客户端&#xff0c;你需要创建一个 <script> 标签&#xff0c;并将其 src 属性设置为跨域请求的 URL&#xff0c;并添加一个 callback 参数。这个 callback 参数将包含一个函数…...

【机器学习实战入门】基于深度学习的乳腺癌分类

什么是深度学习&#xff1f; 作为对机器学习的一种深入方法&#xff0c;深度学习受到了人类大脑和其生物神经网络的启发。它包括深层神经网络、递归神经网络、卷积神经网络和深度信念网络等架构&#xff0c;这些架构由多层组成&#xff0c;数据必须通过这些层才能最终产生输出。…...

Flowable 管理各业务流程:流程设计器 (获取流程模型 XML)、流程部署、启动流程、流程审批、流程挂起和激活、任务分配

文章目录 引言I 表结构主要表前缀及其用途核心表II 流程设计器(Flowable BPMN模型编辑器插件)Flowable-UIvue插件III 流程部署部署步骤例子:根据流程模型ID部署IV 启动流程启动步骤ACT_RE_PROCDEF:流程定义相关信息例子:根据流程 ID 启动流程V 流程审批审批步骤Flowable 审…...

Kafka 日志存储 — 日志索引

每个日志分段文件对应两个索引文件&#xff1a;偏移量索引文件用来建立消息偏移量到物理地址之间的映射&#xff1b;时间戳索引文件根据指定的时间戳来查找对应的偏移量信息。 1 日志索引 Kafka的索引文件以稀疏索引的方式构造消息的索引。它并不保证每个消息在索引文件中都有…...

【大模型】ChatGPT 高效处理图片技巧使用详解

目录 一、前言 二、ChatGPT 4 图片处理介绍 2.1 ChatGPT 4 图片处理概述 2.1.1 图像识别与分类 2.1.2 图像搜索 2.1.3 图像生成 2.1.4 多模态理解 2.1.5 细粒度图像识别 2.1.6 生成式图像任务处理 2.1.7 图像与文本互动 2.2 ChatGPT 4 图片处理应用场景 三、文生图操…...

OceanBase 社区年度之星专访:北控水务纪晓东,社区铁杆开发者

编者按&#xff1a;作为开源数据库&#xff0c;社区的发展和持续进步&#xff0c;来自于每一位贡献者的智慧与支持。2024年度&#xff0c;OceanBase社区特别设立了“年度之星”奖&#xff0c;以表彰和感谢在过去一年中&#xff0c;为社区发展作出突出贡献的朋友。 今日&#x…...

Docker 实现MySQL 主从复制

一、拉取镜像 docker pull mysql:5.7相关命令&#xff1a; 查看镜像&#xff1a;docker images 二、启动镜像 启动mysql01、02容器&#xff1a; docker run -d -p 3310:3306 -v /root/mysql/node-1/config:/etc/mysql/ -v /root/mysql/node-1/data:/var/lib/mysql -e MYS…...

农业农村大数据应用场景|珈和科技“数字乡村一张图”解决方案

近年来&#xff0c;珈和科技持续深耕农业领域&#xff0c;聚焦时空数据服务智慧农业。 珈和利用遥感大数据、云计算、移动互联网、物联网、人工智能等先进技术&#xff0c;搭建“天空地一体化”监测体系&#xff0c;并创新建设了150的全球领先算法模型&#xff0c;广泛应用于高…...

doris 2.1 Queries Acceleration-Hints 学习笔记

1 Hint Classification 1.1 Leading Hint:Specifies the join order according to the order provided in the leading hint. 1.2 Ordered Hint:A specific type of leading hint that specifies the join order as the original text sequence. 1.3 Distribute Hint:Speci…...

STM32 FreeRTOS 任务挂起和恢复---实验

实验目标 学会vTaskSuspend( )、vTaskResume( ) 任务挂起与恢复相关API函数使用&#xff1a; start_task:用来创建其他的三个任务。 task1&#xff1a;实现LED1每500ms闪烁一次。 task2&#xff1a;实现LED2每500ms闪烁一次。 task3&#xff1a;判断按键按下逻辑&#xff0c;KE…...

Ubuntu 24.04 LTS 通过 docker desktop 安装 seafile 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker Desktop [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 seafile 参考资料 Docker安装 Seafile OnlyOffice 并配置OnlyOffice到Seafile&#xff0c;实现在线编辑…...

Open3D 最小二乘拟合平面(直接求解法)【2025最新版】

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 博客长期更新,本文最近更新时间为:2025年1月18日。 一、算法原理 平面方程的一般表达式为:...

【CC2640R2F】香瓜CC2640R2F之SPI读写W25Q80

本文最后修改时间&#xff1a;2022年01月08日 10:45 一、本节简介 本节以simple_peripheral工程为例&#xff0c;介绍如何使用SPI读写W25Q80&#xff08;外部flash&#xff09;。 二、实验平台 1&#xff09;CC2640R2F平台 ①协议栈版本&#xff1a;CC2640R2 SDK v1.40.00.4…...

探秘Shortest与Stagehand:开启高效测试与自动化新篇

探秘Shortest与Stagehand&#xff1a;开启高效测试与自动化新篇 在数字化浪潮的推动下&#xff0c;网页自动化工具如同繁星般涌现&#xff0c;为众多行业带来了效率的变革。在这些工具中&#xff0c;Shortest和Stagehand凭借其出色的表现&#xff0c;成为了众多开发者、测试人…...

llama 3 笔记

0.简介 llama 3 是在 15 万亿个 Token 上预训练的语言模型,具有 8B 和 70B 两种参数规模,可以支持广泛的用户场景,在各种行业基准上取得了最先进的性能,并提供了一些新功能,包括改进的推理能力。 1.改进亮点 参数规模与模型架构:Llama 3提供了8B和70B两种参数规模的模…...

写作利器:如何用 PicGo + GitHub 图床提高创作效率

你好呀&#xff0c;欢迎来到 Dong雨 的技术小栈 &#x1f331; 在这里&#xff0c;我们一同探索代码的奥秘&#xff0c;感受技术的魅力 ✨。 &#x1f449; 我的小世界&#xff1a;Dong雨 &#x1f4cc; 分享我的学习旅程 &#x1f6e0;️ 提供贴心的实用工具 &#x1f4a1; 记…...

【文件篇】11.磁盘文件系统

上一篇博客中我们介绍到如果我们要访问文件首先需要打开这个文件&#xff0c;而文件是在磁盘上存储的&#xff0c;也就是说需要在磁盘上找到这个文件的路径。但是磁盘上有很多文件&#xff0c;这些文件都有自己的路径的&#xff0c;这些文件还有内容和属性&#xff0c;它们都是…...

Ubuntu 系统.sh脚本一键部署内网Java服务(组件使用docker镜像,宕机自启动)

#!/bin/bash# 更新系统并安装必要的依赖 sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common# 安装 Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository …...

Linux系统的CentOS7发行版安装MySQL80

文章目录 前言Linux命令行内的”应用商店”安装CentOS的安装软件的yum命令安装MySQL1. 配置yum仓库2. 使用yum安装MySQL3. 安装完成后&#xff0c;启动MySQL并配置开机自启动4. 检查MySQL的运行状态 MySQL的配置1. 获取MySQL的初始密码2. 登录MySQL数据库系统3. 修改root密码4.…...

Vue部署到Nginx上及问题解决

一、Vue打包 dist文件即打包文件 二、下载Nginx&#xff0c;将dist内容全部复制到Nginx的html下 三、修改Nginx的nginx.conf配置文件&#xff0c;添加try_files $uri $uri/ /index.html; try_files $uri $uri/ /index.html; 是 Nginx 配置中的一个重要指令&#xff0c;用于处理…...

day50 随机函数与广播机制

目录 一、随机张量的生成 1.1 torch.randn() 函数 1.2 其他随机函数 1.3 输出维度测试 二、广播机制 2.1 广播机制的规则 2.2 加法的广播机制 二维张量与一维向量相加 三维张量与二维张量相加 二维张量与标量相加 高维张量与低维张量相加 2.3 乘法的广播机制 批量…...

C++基础进阶:函数、内联函数与Lambda函数详解

引言 在C编程的旅程中&#xff0c;函数是构建复杂程序的基本单元。它们像乐高积木一样&#xff0c;允许我们将代码分解成更小、更易于管理的部分。今天&#xff0c;我们将深入探讨C中的三种重要函数类型&#xff1a;普通函数、内联函数以及Lambda函数。掌握它们&#xff0c;将…...

「数据分析 - NumPy 函数与方法全集」【数据分析全栈攻略:爬虫+处理+可视化+报告】

- 第 104 篇 - Date: 2025 - 06 - 05 Author: 郑龙浩/仟墨 NumPy 函数与方法全集 文章目录 NumPy 函数与方法全集1. 数组创建与初始化基础创建序列生成特殊数组 2. 数组操作形状操作合并与分割 3. 数学运算基础运算统计运算 4. 随机数生成基础随机分布函数 5. 文件IO文件读写 …...

Linux--命令行参数和环境变量

1.命令行参数 Linux 命令行参数基础 1.1参数格式 位置参数&#xff1a;无符号&#xff0c;按顺序传递&#xff08;如 ls /home/user 中 /home/user 是位置参数&#xff09; 选项参数&#xff1a; 短选项&#xff1a;以 - 开头&#xff0c;单个字母&#xff08;如 -l 表示长格…...

Python Day46

Task&#xff1a; 1.不同CNN层的特征图&#xff1a;不同通道的特征图 2.什么是注意力&#xff1a;注意力家族&#xff0c;类似于动物园&#xff0c;都是不同的模块&#xff0c;好不好试了才知道。 3.通道注意力&#xff1a;模型的定义和插入的位置 4.通道注意力后的特征图和热力…...

atc abc409E

原题链接&#xff1a;E - Pair Annihilation 题目背景&#xff1a; n 个点 n - 1 条边的有权无向图&#xff0c;每个点都有一个值&#xff0c;两个连通的点的值可以互相抵消&#xff0c;既将u 的 -1 传给 v 时可以抵消掉 v 的 1 并花费边权值&#xff1b;求最小花费。 考察算…...

9.RV1126-OPENCV 视频的膨胀和腐蚀

一.膨胀 1.视频流的膨胀流程 之前膨胀都是在图片中进行的&#xff0c;现在要在视频中进行也简单&#xff0c;大概思路就是&#xff1a;获取VI数据&#xff0c;然后把VI数据给Mat化发给VENC模块&#xff0c;然后VENC模块获取&#xff0c;这样就完成了。流程图&#xff1a; 2.代…...