Mysql:从一个USE DB堵塞故障展开的探讨
今天一个朋友遇到数据库遇到一个严重的故障,故障环境如下:表现如下:情急之下他杀掉了一大堆线程后发现还是不能恢复,最后杀掉了一个没有及时提交的事物才恢复正常。也仅仅留下了如下图的一个截图:1.png还是回到上图,我们可以归纳一下语句类型如下:三、信息分析关于sending data这个...
Innodb:RR隔离级别下insert...select 对select表加锁模型和死锁案列
最近有网友遇到了在RR隔离级别下insert A select B where B.COL=** 由于select表也就是B表引发的死锁的问题。分析死锁日志后,笔者进行模拟重现了这位网友遇到了2种场景并且在本文中进行详细的描述。本文使用版本percona 5.7.14修改版,能够打印出事务所有的行锁信息结构链(不包含隐含锁)本文中的测试是在RR...
mydumper 编译错误
[root@service mydumper-0.9.1]# cmake ``-DMYSQL_CONFIG=/usr/local/percona3306/bin/mysql_config`` .报下面的错误,然后 make 便于失败:CMake Error: The following variables are used in this project, but they are set to NOTFOUND.Please set them or make sure they are set and tested co...
Percona XtraDB Cluster 读写分离
Percona XtraDB Cluster + proxysql + keepalived 部署 MSYQL读写分离及proxysql 自动故障转移
定位空闲会话事务没提交导致锁阻塞的脚本
---- 查看事务锁阻塞线程和等待线程SELECT r.trx_id AS waiting_trx_id,r.`trx_mysql_thread_id` AS waiting_thread, TIMESTAMPDIFF(SECOND,r.trx_wait_started,CURRENT_TIMESTAMP) AS wait_time, r.`trx_query` AS waiting_query,l.`lock_tab...
(何凳成博客)MySQL 加锁处理分析——学习笔记
1. 准备测试数据use test;CREATE TABLE t1(id int,name varchar(20));alter table t1 add primary key(id);insert into t1 values(1,'a'),(4,'c'),(7,'b'),(10,'a'),(20,'d'),(30,'b');2. 执行测试set global tx_isolation='read-committed';set session tx_isolation='read-committed';select @@global.tx_...
innodb行锁对象mutext争用导致LINUX内核态CPU使用率高诊断
MSYQL 版本:mysql> select version()\G*************************** 1. row***************************version(): 5.6.27-log1 row in set (0.00 sec) 1. 测试数据如下mysql> select * from t1;+------+------+| id | name |+------+------+| &nbs...
【MySQL】sync_binlog innodb_flush_log_at_trx_commit 浅析
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数。本文从参数含义,性能,安全角度阐述两个参数为不同的值时对db 性能,数据的影响.
通过performance_schema视图和sys视图定位使用磁盘文件导致IO很高的SQL
思路:1. 执行测试的语句,使用 TOP 查看操作系统的性能状态2. iostat3. iotop4. 通过 performance_schema 中的 events_waits_summary_global_by_event_name 表的 等待时间排序找出 TOP 等待事件。 或通过 sys 库中的 io_global_by_wait_by_latency 表找出 TOP 等待事件...
MYSQL主从复制部署MHA自动故障转移
一. 环境描述操作系统:RHEL 6.4 mysql :5.6.27 角色IP 地址主机名Server ID类型主库192.168.222...
使用Performance Schema 诊断磁盘IO很高的问题
--运行基准测试,-w5 表示5个数据仓库、-c5 表示5个并发线程、-r30 表示预热30秒、-l1300表示基准测试进行1300秒。[root@oradb tpcc-mysql-master]# ./tpcc_start -h127.0.0.1 -d tpcc1000 -u root -p "" -w5 -c5 -r30 -l300./tpcc_start: /usr/lib64/libmysqlclient.so.18: no version information available (required...
【工具】TPCC-MySQL 测试结果详解
TPCC-MySQL输出结果详解前面的一篇文章介绍了测试工具tpcc-mysql的安装与使用,奈何网上基本没有对于tpcc-mysql 结果的分析,本文介绍如何对测试结果进行分析:一 测试例子[root@rac1 tpcc-mysql]# tpcc_start &nb...
通过performance_schema视图和sys视图定位使用磁盘文件导致IO很高的SQL
思路:1. 执行测试的语句,使用 TOP 查看操作系统的性能状态2. iostat3. iotop4. 通过 performance_schema 中的 events_waits_summary_global_by_event_name 表的等待时间排序找出 TOP 等待事件。 或通过 sys 库中的 io_global_by_wait_by_latency 表找出 TOP 等待事件5. 查...
innodb 事务锁研究
1. select * for update 语句添加的是排他行锁。 2. select ... from table_name where ... forupdate 语句在行计划使用索引常量查找或索引范围扫描时(索引覆盖查询的情况下)会在主键上添加排他行锁。 3. select .. for update 语句使用全索引扫描时,在使用覆盖索引的情况下也会对主键的所...
innodb保护行锁对象的mutext争用导致LINUX内核态CPU使用率高诊断
MSYQL 版本:mysql> select version()\G*************************** 1. row***************************version(): 5.6.27-log1 row in set (0.00 sec) 1. 测试数据如下mysql> select * from t1;+------+------+| id | name |+------+------+| &nbs...
ORACLE DATABASE 针对安全扫描检查到的漏洞查找补丁
ORACLE DATABASE 针对安全扫描检查到的漏洞查找补丁
控制文件与数据文件头SCN不一致导致数据库无法启动故障处理
环境说明OS操作系统:WINDOWS 2012 64位数据库版 本:ORACLE 11.2.0.1 故障问题描述客户反映数据库无法启动,报 ORA-01589:要打开数据库必须使用RESETLOGS 或 NORESETLOGS 选项。使用alter database openresetlogs 启动数据库报 ORA-01194:文件1需要更多恢复来保持一致性,ORA-011...
通过查询日志定位持有锁的SQL语句
MYSQL 版本:mysql> select version();+------------+| version() |+------------+| 5.6.27-log |+------------+1 row in set (0.00 sec)1. 启用查询日志mysql> SET GLOBAL general_log=1;Query OK, 0 rows affected (0.02 sec)mysql> show variables like 'general_log%';+------------------+----...
服务器内存不足导致LINUX KILL MYSQLD 故障
环境说明OS操作系统:SUSE Linux 11数据库版 本:MYSQL 5.6 故障问题描述客户反映MYSQL数据库因为内存不足被重启。故障分析1、根据MYSQL报警日志确认问题:2016-10-24 12:28:49 29226 [Note] Plugin'FEDERATED' is disabled.2016-10-24 12:28:49 29226 [Note] ...
RAC删除 /tmp/.oracle目录导致故障
故障问题描述客户技术人员电话反映应用出现有张表无法访问的问题(其实是数据库已经无法进行写入操作),同时,也无法远程登录检查,数据库日志等信息。根据当时情况,基本无法判断确定具体是什么原因导致表无法访问。到现场后经过同现场工程师沟通了解到在凌晨2点删除了 /tmp目录下临时文件。经过分析...