技术分享 | Percona Toolkit 使用场景分享

MySQL BLOB存图片实战:医疗级强一致性存储方案 BLOB(Binary Large Object)是关系型数据库中用于存储二进制大对象的核心数据类型,其本质是通过行内存储与溢出页结合的混合机制,在事务边界内保障数据原子性与ACID特性。相比文件系统路径存储,BLOB将图片与结构化数据统一纳入备份、复制、审计和事务控制范畴,特别适用于医疗影像、电子签章、司法存证等强一致性敏感场景。本文基于Ubuntu 18.04 + MySQL 5.7 + PHP 7.2技术栈,深入解析BLOB配置调优(max_allowed_packet/innodb_log_file 阅读详情

作者:杜金洋

更方便的数据归档 pt-archiver

某些存在时效性的数据,在达到一定条件后,需要进行归档和回收处理。
pt-archiver 工具可以帮助我们快速的进行数据行的归档和回收

# 归档到其他数据库,并删除原表中对应的行
pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sbtest,t=sbtest1,A=utf8  --where "id<=1000" --dest h=172.20.134.3,P=5722,u=dba,p=dba,D=sbtest,t=sbtest1,A=utf8

# 归档到其他数据库, 不删除原表中对应的行
pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sbtest,t=sbtest1,A=utf8 --no-delete --where "id<=1000" --dest h=172.20.134.3,P=5722,u=dba,p=dba,D=sbtest,t=sbtest1,A=utf8

# 归档到文件,并删除原表中对应的行
pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sbtest,t=sbtest1,A=utf8 --file=/tmp/archive.save --where "id<=1000"
# 归档到文件, 不删除原表中对应的行
pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sbtest,t=sbtest1,A=utf8 --no-delete --file=/tmp/archive.save --where "id<=1000"

# 导入归档文件
mysql> load data infile "/tmp/archive.save" into table sbtest.sbtest1;
Query OK, 1000 rows affected (0.49 sec)
Records: 1000  Deleted: 0  Skipped: 0  Warnings: 0

更快速的配置对比 pt-config-diff

在我们日常工作中,大家一定遇到过以下场景:

  • 若干套 MySQL 环境, 只有一套:
    • 行为异常,怀疑触发bug
    • 性能异常,比其他环境都要低

在这种场景下,我们一般的做法是首先控制变量,查看软硬件配置,以及 MySQL 的参数配置。
关于 MySQL 的参数配置对比,如果我们人工对比的话只会关注某些重点参数,而缺少了整体细节上的的对比。
在这里我们推荐给大家 Percona Toolkit 中的一个工具pt-config-diff

# 指定DSN, 对比所有运行时参数
# 指定 --report-width 200,防止某些参数过长被截断
[root@172-20-134-1 /]#  pt-config-diff h=172.20.134.1,P=5722,u=repl,p=repl  h=172.20.134.3,P=5722,u=dba,p=dba --report-width 200
4 config differences
Variable                   172-20-134-1                             172-20-134-3
========================== ======================================== ========================================
general_log_file           /data/mysql/data/5.7.22/172-20-134-1.log /data/mysql/data/5.7.22/172-20-134-3.log
gtid_executed              234303e2-20cb-11ea-a5a3-0242ac148601:1   2348904f-20cb-11ea-a565-0242ac148603:1
hostname                   172-20-134-1                             172-20-134-3
server_uuid                234303e2-20cb-11ea-a5a3-0242ac148601     2348904f-20cb-11ea-a565-0242ac148603

# 指定配置文件, 对比配置文件的差异
[root@172-20-134-1 /]# pt-config-diff /data/mysql/etc/5.7.22.cnf /tmp/5.7.22.cnf --report-width 200
2 config differences
Variable                  /data/mysql/etc/5.7.22.cnf /tmp/5.7.22.cnf
========================= ========================== ===============
max_allowed_packet        16777216                   67108864
relay_log_recovery        1                          0

更准确的复制延时 pt-heartbeat

在 MySQL 中,复制延迟可以理解为由两部分组成:

  • 1.主库已经生成 了BINLOG,但是还没有发送给从库 – 我们在这里称之为:日志延迟
  • 2.从库已经接收到了 BINLOG,但是还没有应用完成 – 我们在这里称之为:应用延迟

MySQL 原生的查看复制延迟的手段为:show slave status\G中的Seconds_Behind_Master。
这种观测手法只能观测出应用延迟。在异步复制或降级的半同步复制下,误差较大,无法准确的反映出整体复制延时。

pt-heartbeat 提供了一种更为准确的观测手法,简要逻辑如下:

  • 1.在 Master 上循环插入:insert into database.heartbeat (master_now) values(NOW())
  • 2.database.heartbeat 的变更会跟随主从复制流向从库
  • 3.系统当前时间 - 从库表中的时间 = 从库实际的复制延时

使用方式如下

# 向Master开启循环插入时间戳, interval为每次插入的间隔时间
pt-heartbeat -D delay_checker --create-table --interval=5 --update -h 172.20.134.1,P=5722,u=repl,p=repl

# 检查指定从库的复制延迟
pt-heartbeat -D delay_checker  --check 172.20.134.2,P=5722,u=repl,p=repl
# PS: 上面这条命令会使用当前系统的时间减去 delay_checker.heartbeat表中的时间.
# 如果在从库上执行,需要保证从库的系统时间与主库一致.否则会导致延迟计算错误

更简单的参数配置建议 pt-variable-advisor

toolkit中包含了一个简单的MySQL参数优化器, 可以对参数配置做简单的优化建议

[root@172-20-134-1 /]# pt-variable-advisor h=172.20.134.1,P=5722,u=repl,p=repl 
# WARN delay_key_write: MyISAM index blocks are never flushed until necessary.
# WARN innodb_log_buffer_size: The InnoDB log buffer size generally should not be set larger than 16MB.
# NOTE innodb_max_dirty_pages_pct: The innodb_max_dirty_pages_pct is lower than the default.
# NOTE max_binlog_size: The max_binlog_size is smaller than the default of 1GB.
# NOTE port: The server is listening on a non-default port.
# NOTE sort_buffer_size-1: The sort_buffer_size variable should generally be left at its default unless an expert determines it is necessary to change it.
# WARN expire_logs_days: Binary logs are enabled, but automatic purging is not enabled.
# NOTE innodb_data_file_path: Auto-extending InnoDB files can consume a lot of disk space that is very difficult to reclaim later.
# WARN log_output: Directing log output to tables has a high performance impact.
# WARN myisam_recover_options: myisam_recover_options should be set to some value such as BACKUP,FORCE to ensure that table corruption is noticed.

更易用的调试工具 pt-pmp

在某些情况下,我们肯定会遇到某些故障无法从日志,以及状态命令中找到原因,需要深入到程序逻辑级别。
又或者我们需要立即通过非常规手段恢复故障数据库,但是又想保留足够多的故障信息。来避免我们事后复现问题的头疼,
pt-pmp 便是在这种场景下帮助我们的工具。它会使用 gdb 来打印 mysqld 的堆栈信息,并把调用链相同的线程堆栈合并。
堆栈合并的功能对于 MySQL 这种多线程的应用非常有帮助,会节省我们大量的时间。

# pt-pmp --binary /path/to/bin/mysqld --pid 11788 
Sat Dec 21 23:14:06 CST 2019
#   第一列为线程数量  第二列为线程调用栈信息
    180 poll(libc.so.6),vio_io_wait(viosocket.c:797),vio_socket_io_wait(viosocket.c:88),vio_read(viosocket.c:143),net_read_raw_loop(net_serv.cc:694),net_read_packet_header(net_serv.cc:778),net_read_packet(net_serv.cc:778),my_net_read(net_serv.cc:921),Protocol_classic::read_packet(protocol_classic.cc:815),Protocol_classic::get_command(protocol_classic.cc:972),do_command(sql_parse.cc:971),handle_connection(connection_handler_per_thread.cc:313),pfs_spawn_thread(pfs.cc:2197),start_thread(libpthread.so.0),clone(libc.so.6)
     57 pthread_cond_wait,native_cond_wait(thr_cond.h:147),my_cond_wait(thr_cond.h:147),inline_mysql_cond_wait(thr_cond.h:147),Per_thread_connection_handler::block_until_new_connection(thr_cond.h:147),handle_connection(connection_handler_per_thread.cc:344),pfs_spawn_thread(pfs.cc:2197),start_thread(libpthread.so.0),clone(libc.so.6)
     30 __io_getevents_0_4(libaio.so.1),LinuxAIOHandler::collect(os0file.cc:2513),LinuxAIOHandler::poll(os0file.cc:2673),os_aio_linux_handler(os0file.cc:2729),os_aio_handler(os0file.cc:2729),fil_aio_wait(fil0fil.cc:5862),io_handler_thread(srv0start.cc:319),start_thread(libpthread.so.0),clone(libc.so.6)
      9 pthread_cond_wait,wait(os0event.cc:179),os_event::wait_low(os0event.cc:179),srv_worker_thread(srv0srv.cc:2527),start_thread(libpthread.so.0),clone(libc.so.6)
      9 pthread_cond_wait,wait(os0event.cc:179),os_event::wait_low(os0event.cc:179),buf_flush_page_cleaner_worker(buf0flu.cc:3507),start_thread(libpthread.so.0),clone(libc.so.6)
      3 sigwait(libpthread.so.0),signal_hand(mysqld.cc:2132),pfs_spawn_thread(pfs.cc:2197),start_thread(libpthread.so.0),clone(libc.so.6)
      3 sigwaitinfo(libc.so.6),timer_notify_thread_func(posix_timers.c:89),pfs_spawn_thread(pfs.cc:2197),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_wait,wait(os0event.cc:179),os_event::wait_low(os0event.cc:179),srv_purge_coordinator_suspend(srv0srv.cc:2683),srv_purge_coordinator_thread(srv0srv.cc:2683),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_wait,wait(os0event.cc:179),os_event::wait_low(os0event.cc:179),buf_resize_thread(buf0buf.cc:3027),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_wait,wait(os0event.cc:179),os_event::wait_low(os0event.cc:179),buf_dump_thread(buf0dump.cc:792),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_wait,native_cond_wait(thr_cond.h:147),my_cond_wait(thr_cond.h:147),inline_mysql_cond_wait(thr_cond.h:147),compress_gtid_table(thr_cond.h:147),pfs_spawn_thread(pfs.cc:2197),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_timedwait,os_event::timed_wait(os0event.cc:316),os_event::wait_time_low(os0event.cc:488),srv_monitor_thread(srv0srv.cc:1592),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_timedwait,os_event::timed_wait(os0event.cc:316),os_event::wait_time_low(os0event.cc:488),srv_error_monitor_thread(srv0srv.cc:1758),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_timedwait,os_event::timed_wait(os0event.cc:316),os_event::wait_time_low(os0event.cc:488),pc_sleep_if_needed(buf0flu.cc:2700),buf_flush_page_cleaner_coordinator(buf0flu.cc:2700),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_timedwait,os_event::timed_wait(os0event.cc:316),os_event::wait_time_low(os0event.cc:488),lock_wait_timeout_thread(lock0wait.cc:497),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_timedwait,os_event::timed_wait(os0event.cc:316),os_event::wait_time_low(os0event.cc:488),ib_wqueue_timedwait(ut0wqueue.cc:168),fts_optimize_thread(fts0opt.cc:2910),start_thread(libpthread.so.0),clone(libc.so.6)
      3 pthread_cond_timedwait,os_event::timed_wait(os0event.cc:316),os_event::wait_time_low(os0event.cc:488),dict_stats_thread(dict0stats_bg.cc:435),start_thread(libpthread.so.0),clone(libc.so.6)
      3 poll(libc.so.6),Mysqld_socket_listener::listen_for_connection_event(socket_connection.cc:859),connection_event_loop(connection_acceptor.h:73),mysqld_main(connection_acceptor.h:73),__libc_start_main(libc.so.6),_start
      3 nanosleep(libpthread.so.0),os_thread_sleep(os0thread.cc:287),srv_master_sleep(srv0srv.cc:2337),srv_master_thread(srv0srv.cc:2337),start_thread(libpthread.so.0),clone(libc.so.6)

总结

Percona Toolkit 中集成了很多对于 DBA 来说非常有用的工具,合理利用它们在某种场景下会减轻一部分工作量。
愿这次的分享能帮助到大家节省时间,提高生活质量。

附录: Percona Toolkit快速安装

wget https://www.percona.com/downloads/percona-toolkit/3.1.0/binary/tarball/percona-toolkit-3.1.0_x86_64.tar.gz
tar -xvf percona-toolkit-3.1.0_x86_64.tar.gz -C /usr/local
基于Python+OpenCV中文及符号检测 一、项目背景与意义在图像处理、文档识别、自动翻译等场景中,中文及符号的准确检测是一个重要且复杂的任务。传统的字符检测方法往往对英文等拉丁字母系的识别效果较好,但对中文及特殊符号的识别准确率较低。本项目旨在利用Python编程语言结合OpenCV库,开发一个能够高效、准确地检测图像中中文及符号的系统,为相关领域的研究和应用提供技术支撑。二、技术实现图像预处理:利用OpenCV的图像处理功能,对输入的图像进行灰度化、二值化、滤波去噪等预处理操作,以提高中文及符号检测的准确性[1]。 阅读详情

相关推荐

C#---第十一课:对列表的各种操作,添加、删除、排序、列表长度、获取元素的索引、FirstOrDefault()、SingleOrDefault()、last()

1.添加元素 2.删除元素 (1)删除列表中指定的元素 (2)删除列表A中所有与列表B相交的元素---常规 (3)删除列表A中所有与列表B相交的元素---lambda 3.排序(正序、倒序) 4.获取列表的最大容量(长度)、已用容量 6.获取元素在列表中的位置(index) 7.判断某元素是否在列表List中 8.获取列表中第一个元素First() & FirstOrDefault() 9.获取列表中唯一元素Single() & SingleOrDefault() 10.获取列表中最后一个元素

Alien-Hu 3625

mariadb 与percona server 哪个更适合生产环境

导读:尽管MySQL是最受欢迎的程序之一,但是许多开发人员认为有必要将其拆分成其他项目,并且每个分支项目都有自己的专长。该 需求以及Oracle对核心产品增长缓慢的担忧,导致出现了许多开发人员感兴趣的子项目和分支。本文将讨论受人们关注的三个流行MySQL分 支:Drizzle、MariaDB和Percona Server(包括XtraDB引擎)。文中简要介绍每个分支出现的原因及其目标,以及是否可在...

许恒的博客 1万+

树莓派4B+Ubuntu22.04+思岚RPLIDAR C1激光雷达应用

树莓派+Ubuntu22.04+思岚RPLIDAR C1激光雷达简单应用

techfuture的博客 3704

每天一个percona 工具 --- pt-kill

主要用途:pt-kill是用来kill MySQL连接的一个工具,在MySQL中因为空闲连接较多导致超过最大连接数,或某个有问题的sql导致mysql负载很高时,需要将其KILL掉来保证服务器正常运行。 从show processlist 中获取满足条件的连接或者从包含show processlist的文件中读取满足条件的连接并打印或者杀掉或者执行其他操作。 这个工具在工作中实用性很高,当服务器连接出现异常后第一想到的就是pt-kill,我们这里主要用来防止某些select操作时间过长,从而影响其.

Data & Analysis 666

自学篇--使用keil5.23创建一个stm32工程并编译(固件包自带版本)

之前在本科学习阶段学习过一点51单片机的知识,可是因为基本没有实践过几次现在已经完全忘记了。。前几天老师突然丢给我几个板子说让我把程序编译、烧写环境装好,当时我就震惊了,不过经过三四天的自我摸索,之后参考他人的学习经验,现在已经基本能处理这个问题了,所以为了方便后面的学者,主要也是为了把自己这几天的学习成果记录一下,我在这里把这个过程写下来。(因为刚刚接触,很多原理性的东西都还不懂,只是一个操作步

yang_csdnForOBTS的博客 8659

Plant Simulation数字孪生实战:从零搭建生产车间模型(附SimTalk脚本示例)

本文详细介绍了如何使用Plant Simulation从零构建生产车间数字孪生模型,包括基础建模、SimTalk脚本编程、参数化设计和高级应用。通过实战示例展示动态逻辑控制、设备故障模拟等关键技术,帮助工程师快速掌握数字孪生技术在制造业中的应用。

weixin_42527160的博客 359

Percona Toolkit入门:零基础学会5个最常用工具

通过这个工具,我们可以发现哪些索引从未被使用过(可以考虑删除),哪些查询没有使用合适的索引(需要优化)。经过一段时间的学习和实践,我发现有5个工具特别实用,几乎能满足日常80%的数据库管理和优化需求。这个工具可以监控数据库中的查询,并根据预设的条件终止长时间运行的查询。如果发现不一致,它会报告具体的差异。我试用了其中的pt-query-digest练习模块,系统会给出一个慢查询日志文件,然后引导你一步步分析,最后还会提供参考答案。它提供了交互式的练习环境,内置了示例数据集,可以随时测试这些工具的效果。

CrystalwaveStag的博客 798

DC/DC恒压输出控制原理与应用

DC/DC恒压输出控制

propor的专栏 4279

DBA效率革命:Percona Toolkit自动化运维全攻略

我最喜欢它的安全机制,默认会先dry-run展示变更,确认无误才真正执行。它的在线编辑器支持直接运行Percona Toolkit命令,还能一键部署Web界面原型,省去了本地搭建测试环境的麻烦。比起简单的DELETE,它能控制事务大小避免锁表,还能实时监控进度,归档的同时不影响线上查询。对已知的常见问题编写了自动修复策略。整合Celery实现定时任务,比如每天凌晨低峰期自动跑checksum,发现异常自动触发sync修复。自动化不是要完全取代人工,而是把DBA从重复劳动中解放出来,专注于更有价值的工作。

GreyWolf12的博客 761

AI赋能运筹优化:从参数生成到智能求解的工程实践

运筹学通过线性规划、整数规划等数学模型,为供应链、物流、生产排程等复杂决策问题寻找最优解,其核心价值在于提升资源利用效率与决策科学性。传统方法依赖精确的输入参数与专家经验,面临数据不准、建模门槛高、求解调优难等挑战。人工智能技术的引入,正从原理层面重塑这一流程:通过深度学习模型生成更贴合现实的动态参数(如需求分布、行驶时间),利用自然语言处理降低建模门槛,并借助强化学习对求解器进行智能参数调优。这种AI与运筹学的融合,在工程实践中显著提升了优化系统的自适应能力与求解效率,使其在应对实时交通、柔性生产调度等动

weixin_26913055的博客 595

PCL 循环体素滤波

本文提出了一种自动循环体素滤波算法,用于解决点云配准中分辨率差异大、参数设置复杂的问题。算法通过计算点云分辨率(公式1),采用迭代方式调整体素尺寸(公式2),逐步逼近目标分辨率。该方法在保留几何特征的同时有效精简数据量,实现了均匀分辨率的自动调整。实验通过PCL库实现,展示了原始点云与滤波结果的对比效果,验证了算法在减少数据规模方面的有效性。该方法为点云配准提供了预处理解决方案,相关成果已发表于SCI期刊。

点云侠的博客 281

【MySQL】Percona Toolkit 核心 7 工具实战,高效搞定数据库运维

今天分享的这 7 个 PT 工具,覆盖了 MySQL 运维从信息采集→配置校验→拓扑管理→权限控制→索引优化→资源监控降本:大幅减少手动操作时间,比如实例全量信息汇总,从手动敲命令整理 1 小时缩短至 1 分钟,避免重复劳动;提效:快速定位问题根源,不管是拓扑混乱、参数不一致,还是 IO 瓶颈、重复索引,都能精准排查,不用再靠经验瞎猜;避险:上线前通过配置校验拦截参数风险,运维中通过标准化操作减少人为错误,从源头降低数据库故障概率。

专注Java和MySQL领域知识分享 925

高渗透率光伏接入配电网的电压越限与谐波治理:基于VSG构网型控制与SVG+APF联合补偿的Simulink仿真研究

本文针对高渗透率光伏接入配电网引发的电压越限和谐波畸变问题,提出了一种分层递进的综合治理方案。通过建立IEEE 33节点配电网的Simulink仿真模型,首先验证了传统跟网型控制下光伏渗透率提高导致的电压越上限(最高达1.08 p.u.)和系统谐波畸变严重(THD达8.72%)问题。进而提出:1)将部分光伏逆变器改造为构网型VSG控制,利用其无功调压能力与虚拟阻抗技术实现本地治理;2)在关键节点加装SVG+APF联合补偿装置进行全局动态无功补偿与谐波滤除。仿真结果表明,该方案能将节点电压控制在0.94-1.

huanghm88的专栏 578

技术分享 | MySQL 监控利器之 Pt-Stalk

作者:xuty 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 一、概述 之前在社区发了一篇故障分析 | 有效解决 MySQL 行锁等待超时问题文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有介绍具体监控输出的文档,就以为这个工具没法监控行锁等待,最后果断被打脸了。 以上是个小插曲,个人在本地测试了下 pt-stal.

ActionTech的博客 546

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

mysql 如果条件一不满足 使用条件二_技术分享 | MySQL 监控利器之 PtStalk

作者:xuty本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、概述之前在社区发了一篇【有效解决 MySQL 行锁等待超时问题】文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有介绍具体监控输出的文档,就以为...

weixin_39574246的博客 319

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

mysql怎么用sb文件_MySQL数据库数据归档回收工具使用场景分享-爱可生

原标题:MySQL数据库数据归档回收工具使用场景分享-爱可生 更方便的数据归档 pt-archiver某些存在时效性的数据,在达到一定条件后,需要进行归档和回收处理。pt-archiver 工具可以帮助我们快速的进行数据行的归档和回收。# 归档到其他数据库,并删除原表中对应的行pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sb...

weixin_39869197的博客 150

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

爱可生 mysql监控_技术分享 | MySQL 监控利器之 Pt-Stalk

作者:xuty本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、概述之前在社区发了一篇【有效解决 MySQL 行锁等待超时问题】文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有介绍具体监控输出的文档,就以为这个工具没...

weixin_42144086的博客 436

mysql pt监控_技术分享 | MySQL 监控利器之 Pt-Stalk

一、概述之前在社区发了一篇故障分析 | 有效解决 MySQL 行锁等待超时问题文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有介绍具体监控输出的文档,就以为这个工具没法监控行锁等待,最后果断被打脸了。以上是个小插曲,个人在本地测试了下 pt-stalk 的监控输出后...

weixin_30496435的博客 327

net start mysql_MySQL数据库数据归档回收工具使用场景分享-爱可生

更方便的数据归档 pt-archiver某些存在时效性的数据,在达到一定条件后,需要进行归档和回收处理。pt-archiver 工具可以帮助我们快速的进行数据行的归档和回收。# 归档到其他数据库,并删除原表中对应的行pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sbtest,t=sbtest1,A=utf8 --where ...

weixin_39528029的博客 154

dbd-mysql-4.011.tar.gz下载_技术分享 | 数据校验工具 pt-table-checksum

1.概述pt-table-checksum 是 Percona-Toolkit 的组件之一,用于检测 MySQL 主、从库的数据是否一致。其原理是在主库执行基于 statement 的 SQL 语句来生成主库数据块的checksum,把相同的 SQL 语句传递到从库执行,并在从库上计算相同数据块的 checksum,最后,比较主从库上相同数据块的 checksum 值,由此判断主从数据是否一致。...

weixin_40004502的博客 183

mysql 对比工具_MySQL数据库数据归档回收工具使用场景分享-爱可生

更方便的数据归档 pt-archiver某些存在时效性的数据,在达到一定条件后,需要进行归档和回收处理。pt-archiver 工具可以帮助我们快速的进行数据行的归档和回收。# 归档到其他数据库,并删除原表中对应的行pt-archiver --source h=172.20.134.1,P=5722,u=repl,p=repl,D=sbtest,t=sbtest1,A=utf8 --where ...

weixin_29743373的博客 151

SQL工具全攻略:从入门到精通,数据分析师与开发者的效率利器

SQL作为数据领域的核心语言,是操作和查询数据库的通用标准。其工作原理是通过声明式语法,将用户的数据需求转化为数据库系统可执行的指令,实现对数据的增删改查与复杂分析。掌握SQL的价值在于能够高效、精准地从海量数据中提取信息,支撑业务决策、应用开发和系统优化。在数据分析、后端开发、数据仓库构建等应用场景中,SQL能力直接影响工作效率与成果质量。而一款优秀的SQL工具,如DBeaver或DataGrip,能通过智能补全、执行计划可视化等功能,显著提升SQL编写与调试效率,是数据工作者从“会写”迈向“高效”的关键

weixin_30527423的博客 287

mysql pt_技术分享 | MySQL 监控利器之 Pt-Stalk

作者:xuty本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、概述之前在社区发了一篇故障分析 | 有效解决 MySQL 行锁等待超时问题文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有介绍具体监控输出的文档,就以为...

weixin_29974217的博客 156

mysql服务等待应答超时_技术分享 | MySQL 监控利器之 Pt-Stalk

作者:xuty一、概述之前在社区发了一篇【有效解决 MySQL 行锁等待超时问题】文档,主要介绍了下行锁超时的监控方法,下方评论中有人提到了 pt-stalk 工具也可以监控行锁超时,因为个人没怎么用过这个工具,所以下意识的就去 google 了一下。因为没找到有介绍具体监控输出的文档,就以为这个工具没法监控行锁等待,最后果断被打脸了~~~以上是个小插曲,个人在本地测试了下 pt-stalk 的监...

weixin_39636857的博客 179

技术分享 | Online DDL 工具 pt-osc

作者:张洛丹 爱可生 DBA 团队成员,主要负责 MySQL 故障处理和公司自动化运维平台维护。对技术执着,为客户负责。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 Online DDL 工具:pt-osc 对于 MySQL Online DDL 目前主流的有三种工具: 原生 Online DDL; pt-osc(online-schema-change), gh-ost 本文主要讲解 pt-online-schema-change 的使用以.

ActionTech的博客 1614
上一篇: 微课程 | 第十四课《管理端介绍》
下一篇: 技术分享 | MySQL 在 NoSQL 领域冲锋陷阵
爱可生开源社区
博客等级 码龄8年 1936粉丝 1004原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值