09、PT工具用法

pt工具的使用(4) pt-osc的使用 --alter = s 模式修改,不带ALTER TABLE关键字 --alter-foreign-keys-method = s 如何修改外键以便它们引用新表 -[no]交换前分析在新表上执行ANALYZE TABLE 与旧的交换之前(默认 是) --ask-pass ... 阅读详情

目录

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 cont
十八、Percona Toolkit工具 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括:1)检查master和slave数据的一致性2)有效地对记录进行归档3)查找重复的索引4)对服务器信息进行汇总5)分析来自日志和tcpdump的查询6)当系统出问题的时候收集重要的系统信息percona-toolkit源自Maatkit和Aspersa工具,这两个工具是管理mysql的最有名的工具。 阅读详情

相关推荐

PT工具集

是由Percona公司开发的一套包含30多个高级命令行工具的工具集,专门用于MySQL、MariaDB、MongoDB和PostgreSQL数据库的管理和维护。这些工具经过了生产环境的严格测试,能够帮助DBA自动化执行各种复杂的数据库操作。

gegencha的博客 1130

pt-table-checksum和pt-table-sync

原理解析获取最近版本percona-toolkit并安装[root@mysqlrep1 tmp]# export LANG=C [root@mysqlrep1 tmp]# wget https://www.percona.com/downloads/percona-toolkit/2.2.16/RPM/percona-toolkit-2.2.16-1.noarch.rpm[root@mysqlrep

lijingkuan的博客 1880

PT100测温电路实验与仿真

通过本次实验,我掌握了恒流源的设计,也加深了对之前模电知识的学习与应用,熟悉了A/D数模转换模块,也明白了传感器测温电路的大致设计流程和应该注意的细节,收获很多。

weixin_74931895的博客 1759

Centos7安装pt-query-digest慢查询工具与实践

Centos7安装pt-query-digest慢查询工具与实践安装确认MySQL配置使用常用命令 安装 1)下载percona-toolkit 工具包 wget percona.com/get/percona-toolkit.tar.gz 2)解压 tar -zxvf percona-toolkit.tar.gz 3)进入安装目录 cd /home/percona-toolkit-3.1.0...

u013133297的博客 1331

pt-table-checksum数据校验工具

1.原理: 1.可以指定从库的数据校验: 提前在指定的数据库中建一个表,用于存储要校验的从库的ip、用户名、密码,用于主库连接从库,然后使用pt工具,pt在校验时会生成一个表,这个表的生成位置,可以在pt工具的参数中设置,这个表的作用是存储校验值、校验表的分块标记和校验时间等;pt在工作的时候,会将主库中的某个库中的某个表进行拆分,形成一个校验值存到生成的表当中,主库在生成一个表之后会生成相同的语句同步到从库中,从库做与主库相同的动作,生成表以及校验数据存入表中 还有一个pt-table-sync工具与上面

weixin_43202081的博客 706

达梦数据库集群部署(主备)

达梦数据库集群部署(主备)

m0_71845127的博客 1461

如何使用Ray和PyTorch训练模型

用户编写训练函数 → 定义单机训练逻辑。通过扩缩容配置 → 指定需要多少资源(Worker 数量、CPU/GPU)。训练器整合训练函数和配置 → 自动将训练函数分发到多个 Worker 上并行执行。Worker 运行训练函数 → 在分布式环境中完成模型训练。通过这种模式,Ray Train 实现了对分布式训练的抽象,用户只需关注单机训练逻辑,无需手动管理分布式通信和资源分配。

m0_62464865的博客 1922

从数据校准到论文呈现:fsQCA与NCA方法融合的完整实证研究指南

本文详细介绍了fsQCA(模糊集定性比较分析)与NCA(必要条件分析)方法融合的完整实证研究流程,从数据校准到论文呈现。通过软件操作技巧、R语言NCA包高效使用及论文写作规范,帮助研究者避免常见误区,提升研究质量与可靠性。特别适合需要进行组态分析的研究生和学者参考。

weixin_29215391的博客 414

华强北手表256G真相大揭秘:ADB命令实测内存与存储(附完整调试教程)

本文通过ADB命令实战揭秘华强北智能手表256G存储等硬件参数的真实性。文章提供了从开启调试模式到使用ADB命令查询系统属性、验证内存与存储容量的完整教程,帮助用户识别参数虚标,评估设备真实性能与潜在风险。

e3f4g5的博客 1232

LTspice进阶技巧-031.一键加密仿真模型:LTspice Encrypt Tool实战指南

本文详细介绍了LTspice Encrypt Tool的使用方法,帮助工程师一键加密LTspice仿真模型,保护知识产权。通过图形化界面简化操作流程,支持批量加密和兼容性处理,适用于电路设计中的模型保护需求。

weixin_28304023的博客 202

[Dify] HTTP 请求节点总是调不通?先把请求头、参数、变量和返回 JSON 拆开查

这篇文章围绕 Dify HTTP 请求节点调不通、接口能通但流程不稳定、返回 JSON 后续节点读不到等问题展开,从 Method、URL、Header、Body、变量映射和返回字段提取几个角度梳理排查顺序。适合正在把 Dify Workflow 接入企业微信、CRM、工单系统或内部接口的读者阅读,帮助你把接口调用从一次性跑通推进到可复用、可验证的业务流程。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 3944

【C#学习记录】如何让界面控件实现自适应布局(Winform)

小伙伴们大家好,我是雷工!在软件界面设计中,客户常常要求设计的界面可以随意缩放,缩放过程中,界面中的按钮等控件也会随着窗体变大缩小自动调整显示位置和尺寸大小。在C#的Winform窗体中如何实现这个效果,下面我们一起学习下。

做有价值的事,积累有价值的笔记! 1万+

一篇文章带你快速入门 MATLAB

文章目录一、认识 MATLAB 界面二、MATLAB 的运行方式三、Matlab 中的窗口1. 命令窗口2. MATLAB的程序编辑窗口3. 工作空间窗口4. 命令历史窗口5. 图形窗口6. 当前目录窗口四、MATLAB的帮助系统1. 帮助命令2. 联机帮助五、其他知识补充1. MATLAB的搜索路径2. 变量命名规则3. M文件命名规则 一、认识 MATLAB 界面 在 MATLAB Desktop 中,工具条取代了菜单和工具栏。应用程序库收纳了 MATLAB 产品系列的应用程序,单一文件应用程序打包为一

南淮北安的博客 5128

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 07、常用开发工具连接MySQL
下一篇: 10、内存和磁盘管理
共勉浩浩
博客等级 码龄4年 508粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

共勉浩浩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值