- 浏览: 7955864 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
percona,是mysql的一个分支了,相信不少朋友都很熟悉了,而percona-toolkit是其推出的工具包,里面集合了很多不错的实用的mysql维护工具包,今天开始学习下这个工具,首先看的是如何检查死锁
如果用传统的检查死锁的方法,可以使用比如:SHOW ENGINE INNODB STATUS
,但这个方法查看的是最新的死锁,如果有大量的死锁的话,则不容易看得清楚了;
这个时候可以使用pt-deadlock-logger这个percona-toolkit工具包中的小工具了;
基本用法为:
pt-deadlock-logger u=user,p=password,h=host
也就是用户名密码和host了。在使用这个工具时,通常是运行一段时间去检查,
比如可以指定参数:--run-time 。此外还可以指定把结果保存到文件(--log参数)
或者保持到表格中去(--dest参数),下面看一个例子:
pt-deadlock-logger --create-dest-table --dest D=test,t=deadlocks u=root,h=127.0.0.1
这个时候默认建立一个test.deadlocks表,看下结构:
mysql> show create table test.deadlocks\G
*************************** 1. row ***************************
Table: deadlocks
Create Table: CREATE TABLE `deadlocks` (
`server` char(20) NOT NULL,
`ts` datetime NOT NULL,
`thread` int(10) unsigned NOT NULL,
`txn_id` bigint(20) unsigned NOT NULL,
`txn_time` smallint(5) unsigned NOT NULL,
`user` char(16) NOT NULL,
`hostname` char(20) NOT NULL,
`ip` char(15) NOT NULL,
`db` char(64) NOT NULL,
`tbl` char(64) NOT NULL,
`idx` char(64) NOT NULL,
`lock_type` char(16) NOT NULL,
`lock_mode` char(1) NOT NULL,
`wait_hold` char(1) NOT NULL,
`victim` tinyint(3) unsigned NOT NULL,
`query` text NOT NULL,
PRIMARY KEY (`server`,`ts`,`thread`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
这个时候可以开始监测:
# pt-deadlock-logger --daemonize --run-time=3000 --dest D=test,t=deadlocks u=root,h=127.0.0.1
然后最后死锁的结果保存在表中,如下:
mysql> select * from test.deadlocks\G
*************************** 1. row ***************************
server: 127.0.0.1
ts: 2012-09-17 12:13:36
thread: 32
txn_id: 0
txn_time: 113
user: root
hostname: localhost
ip:
db: world
tbl: City
idx: Name
lock_type: RECORD
lock_mode: X
wait_hold: w
victim: 0
query: update City SET name='New york2' where name='New York'
*************************** 2. row ***************************
server: 127.0.0.1
ts: 2012-09-17 12:13:36
thread: 33
txn_id: 0
txn_time: 110
user: root
hostname: localhost
ip:
db: world
tbl: City
idx: Name
lock_type: RECORD
lock_mode: X
wait_hold: w
victim: 1
query: update City set Name='Seattle2' where name='Seattle'
这里可以清晰看到有两条记录导致死锁了,而且锁的类型都看的很清楚了,提一下,
在mysql 5.6中,innodb_print_all_deadlocks这个设置可以看到死锁的情况了,很方便,参考http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_print_all_deadlocks
如果用传统的检查死锁的方法,可以使用比如:SHOW ENGINE INNODB STATUS
,但这个方法查看的是最新的死锁,如果有大量的死锁的话,则不容易看得清楚了;
这个时候可以使用pt-deadlock-logger这个percona-toolkit工具包中的小工具了;
基本用法为:
pt-deadlock-logger u=user,p=password,h=host
也就是用户名密码和host了。在使用这个工具时,通常是运行一段时间去检查,
比如可以指定参数:--run-time 。此外还可以指定把结果保存到文件(--log参数)
或者保持到表格中去(--dest参数),下面看一个例子:
pt-deadlock-logger --create-dest-table --dest D=test,t=deadlocks u=root,h=127.0.0.1
这个时候默认建立一个test.deadlocks表,看下结构:
mysql> show create table test.deadlocks\G
*************************** 1. row ***************************
Table: deadlocks
Create Table: CREATE TABLE `deadlocks` (
`server` char(20) NOT NULL,
`ts` datetime NOT NULL,
`thread` int(10) unsigned NOT NULL,
`txn_id` bigint(20) unsigned NOT NULL,
`txn_time` smallint(5) unsigned NOT NULL,
`user` char(16) NOT NULL,
`hostname` char(20) NOT NULL,
`ip` char(15) NOT NULL,
`db` char(64) NOT NULL,
`tbl` char(64) NOT NULL,
`idx` char(64) NOT NULL,
`lock_type` char(16) NOT NULL,
`lock_mode` char(1) NOT NULL,
`wait_hold` char(1) NOT NULL,
`victim` tinyint(3) unsigned NOT NULL,
`query` text NOT NULL,
PRIMARY KEY (`server`,`ts`,`thread`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
这个时候可以开始监测:
# pt-deadlock-logger --daemonize --run-time=3000 --dest D=test,t=deadlocks u=root,h=127.0.0.1
然后最后死锁的结果保存在表中,如下:
mysql> select * from test.deadlocks\G
*************************** 1. row ***************************
server: 127.0.0.1
ts: 2012-09-17 12:13:36
thread: 32
txn_id: 0
txn_time: 113
user: root
hostname: localhost
ip:
db: world
tbl: City
idx: Name
lock_type: RECORD
lock_mode: X
wait_hold: w
victim: 0
query: update City SET name='New york2' where name='New York'
*************************** 2. row ***************************
server: 127.0.0.1
ts: 2012-09-17 12:13:36
thread: 33
txn_id: 0
txn_time: 110
user: root
hostname: localhost
ip:
db: world
tbl: City
idx: Name
lock_type: RECORD
lock_mode: X
wait_hold: w
victim: 1
query: update City set Name='Seattle2' where name='Seattle'
这里可以清晰看到有两条记录导致死锁了,而且锁的类型都看的很清楚了,提一下,
在mysql 5.6中,innodb_print_all_deadlocks这个设置可以看到死锁的情况了,很方便,参考http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_print_all_deadlocks
发表评论
-
mybatis generator中的字段大小写生成问题
2017-10-22 19:35 11421mybatis generator插件中,如果 mysql数据 ... -
MySQL统计一个列中不同值的数量
2017-07-11 14:04 16303https://yiqiwuliao.com/post/mys ... -
mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解决方法
2017-03-02 09:44 1815权限问题,授权 给 root 所有sql 权限 mysql ... -
几个不错的MYSQL 优化TIPS
2016-11-19 12:30 824图片来自http://imysql.com/的PDF分享 [ ... -
powerdesign 逆向ORACLE的坑
2016-09-27 17:08 581要注意的是,在WIN 64中,如果要用powerdesin 来 ... -
( 转)mysql中删除两条重复记录中的一条
2015-10-19 20:19 1345| id | createTime | labId | pub ... -
mysql中sql语句=,>的时候的索引设置
2015-05-02 12:27 1319在 https://www.percona.com/blog/ ... -
mysql中profile的使用
2015-04-30 11:11 2240mysql 的 sql 性能分析器主要用途是显示 sql 执行 ... -
mysql中的sql mode
2015-04-13 11:29 1167mysql sql mode小结 1 sql mode可以 ... -
PROCEDURE ANALYSE()为mysql提高性能提供建议
2015-04-02 16:37 1488procedure analyse();语法如下 select ... -
mongodb中意外退出的问题
2015-02-11 14:32 1347mongodb启动的时候,意外退出: Unclean shut ... -
mysql 5.5中保留字查询
2014-06-05 23:16 1500mysql 5.5中保留字查询 http://www.5is ... -
(转)oracle 临时表空间的增删改查
2014-03-18 12:44 1159oracle 临时表空间的增删改查 1、查看临时表空间 (d ... -
pl-sql developer安装
2014-02-07 09:16 1146一直都是机器本机上有oracle,所以装pl sql deve ... -
oracle中的nvl,nvl2等参数
2013-12-26 11:18 23021.nul函数将一个null值转换为一个实际的值。 数据类型可 ... -
Oracle中的ROWNUM rowid 以及MySQL中实现rownum功能类似的语句
2013-12-26 11:08 2372http://gong-10140.iteye.com/blo ... -
ORACLE XE版本的限制
2013-12-07 08:11 369010g中用户数据最大为4G, 11G中最大为11G,如果超出大 ... -
oracle中监控索引是否可用
2013-11-04 07:22 1096在oracle中,可以使用如下的方法监控索引是否可用: a ... -
mysql 5.6中的时间类型的新精度介绍
2013-10-28 09:33 8427留意到mysql 5.6中,可以使用select now(6) ... -
<<oracle索引技术》读书笔记1
2013-08-25 16:23 1338expert indexing in oracle datab ...
相关推荐
1、percona-toolkit-3.3.1-1-最新版.zip 2、支持centos、redhat、orace linux、ubuntu、debian、麒麟V10、欧拉系统等个版本Linux系统。 3、内部各版本安装包列表如下: percona-toolkit-3.3.1-1.el7.x86_64.rpm、 ...
percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql任务和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索引 对...
percona-toolkit-3.0.13-1.el6.x86_64.rpm 安装包
percona-toolkit-2.1.7-1.noarch.rpm,percona工具包。
percona-toolkit-3.2.1-1.el7.x86_64.rpm
6. **pt-mysql-summary**: 提供快速的MySQL服务器状态概览,包括内存使用、连接数、存储引擎统计等,是日常监控的好帮手。 7. **pt-kill**: 根据各种条件(如执行时间、锁等待等)查找并杀死MySQL进程,对于处理...
percona-toolkit-3.3.0-1.el7.x86_64.rpm
8. **pt-mysql-summary**:快速生成关于MySQL服务器状态的报告,包括连接、内存使用、慢查询等信息,便于监控和分析。 9. **pt-show-grants**:方便地查看MySQL用户的权限,有助于权限管理。 10. **pt-kill**:...
配置文件通常位于 `/etc/percona-toolkit/` 或 `~/.percona-toolkit/` 目录下。 ### DSN 规范 数据源名称 (Data Source Name, DSN) 是一种表示数据库连接信息的标准格式,Percona Toolkit 支持使用 DSN 格式指定...
这个压缩包"percona-toolkit-3.0.13_x86_64.tar.gz"包含了版本3.0.13的工具,适用于64位系统。这个工具集由Percona公司开发,该公司在MySQL领域有着深厚的背景和专业知识,致力于提供高效、可靠的数据库解决方案。 ...
percona-toolkit 下载,测试可用,centos7兼容版本,共享出来
percona-toolkit-3.0.2-1.el6.x86_64
在`percona-toolkit-3.2.0.tar.gz`这个压缩包中,用户将找到Percona Toolkit的3.2.0版本,这是一个稳定且功能丰富的版本。解压后,用户可以访问到各个工具的源代码,以便在不同的操作系统上编译和安装。 以下是...
1、percona-toolkit-3 rpm包,含 CentOS 6和7版本 2、直接rpm -ivh安装即可,安装好后里面有如下常用命令 3、pt-table-checksum 检测MySQL主从数据一致性 4、pt-table-sync 修复主从数据不一样的记录 3、pt-online-...
percona-toolkit-3.0.12-1.el6.x86_64.rpm
这个名为"percona-toolkit-3.0.8_x86_64.tar.gz"的压缩包,包含了Percona Toolkit 3.0.8版本的全部组件,专为提升MySQL性能而设计。本文将深入探讨Percona Toolkit的核心功能及其在MySQL优化中的应用。 Percona ...
percona percona-toolkit工具rpm包,版本为el7,欢迎下载
用于对数据库的数据进行迁移使用。该版本适用于Linux版本。
这个"percona-toolkit.tar.gz"压缩包包含了Percona Toolkit的某个版本,这里是3.1.0版。 Percona Toolkit包含多个实用工具,每个都有其独特的功能,旨在帮助数据库管理员优化性能、解决复杂问题并确保数据安全。...
percona-xtrabackup-8.0.27-19-Linux-x86_64.glibc2.12-minimal.tar.gz、 percona-xtrabackup-8.0.27-19-Linux-x86_64.glibc2.17-minimal.tar.gz、 percona-xtrabackup-80-8.0.27-19.1.el6.x86_64.rpm、 percona-...