mysql锁表原因及解决方法
mysql锁表原因及解决方法
一、导致锁表的原因
1、锁表发生在insert update 、delete 中;
2、锁表的原理是 数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commite 或者 回滚 或者退出数据库用户;
3、锁表的原因 :
1)、A程序执行了对 tableA 的 insert ,并还未 commite时,B程序也对tableA 进行insert 则此时会发生资源正忙的异常 就是锁表;
2)、锁表常发生于并发而不是并行(并行时,一个线程操作数据库时,另一个线程是不能操作数据库的,cpu 和i/o 分配原则)
4、减少锁表的概率:
减少insert 、update 、delete 语句执行 到 commite 之间的时间。
具体点批量执行改为单个执行、优化sql自身的非执行速度
如果异常对事物进行回滚。
二、mysql锁表的解决
#查看进程id,然后用kill id杀掉进程
show processlist;
或
SELECT * FROM information_schema.PROCESSLIST;
#查询正在执行的进程
SELECT * FROM information_schema.PROCESSLIST where length(info) >0 ;
#查询是否锁表
show OPEN TABLES where In_use > 0;
#查看被锁住的
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
#等待锁定
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
#杀掉锁表进程
kill 5601
-- 在navicate查询页面, 使用如下sql语句
select concat("kill", ID, ";") as command from information_schema.PROCESSLIST where HOST regext "some condtion";
mysql锁表原因及解决方法的更多相关文章
- MYSQL锁表问题的解决方法
本文实例讲述了MYSQL锁表问题的解决方法.分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 mysql>show processlist; 参看sq ...
- informix 数据库锁表分析和解决方法
一.前言 在联机事务处理(OLTP)的数据库应用系统中,多用户.多任务的并发性是系统最重要的技术指标之一.为了提高并发性,目前大部分RDBMS都采用加锁技术.然而由于现实环境的复杂性,使用加锁技术又不 ...
- jmeter连接不上MySQL数据库的原因以及解决方法
1.Cannot create PoolableConnectionFactory (Client does not support authentication protocol requested ...
- mysql安装不上怎么办 mysql安装失败原因和解决方法
困难1:MySQL 5.1 安装过程中报apply security setting错误 1.卸载MySQL. 2.删除目录 C:\Documents and Settings\All Users\A ...
- MYSQL锁表问题解决
本文实例讲述了MYSQL锁表问题的解决方法.分享给大家供大家参考,具体如下: 很多时候!一不小心就锁表!这里讲解决锁表终极方法! 案例一 ? 1 mysql>show processlist; ...
- MySQL锁表解决方法
https://blog.csdn.net/a5582ddff/article/details/79566678 MySQL锁表解决方法 一.我的处理过程 1.查进程,主要是查找被锁表的那个进程的ID ...
- MySQL CPU 使用率高的原因和解决方法
用户在使用 MySQL 实例时,会遇到 CPU 使用率过高甚至达到 100% 的情况.本文将介绍造成该状况的常见原因以及解决方法,并通过 CPU 使用率为 100% 的典型场景,来分析引起该状况的原因 ...
- mysql死锁-查询锁表进程-分析锁表原因【转】
查询锁表进程: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程 show processlist 查询到相对应的进程===然 ...
- mysql死锁-查询锁表进程-分析锁表原因
查询锁表进程: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程 show processlist 查询到相对应的进程===然 ...
- MySQL 实例空间使用率过高的原因和解决方法
用户在使用 MySQL 实例时,会遇到空间使用告警甚至超过实例限额被锁定的情况.在 RDS 控制台的实例基本信息中,即会出现如下信息: 本文将介绍造成空间使用率过高的常见原因及其相应的解决方法.对于M ...
随机推荐
- 通过adb查看手机app的包名
在进行App自动时,需要查看手机应用包名.Activity的信息,下面介绍一种简单的查看手机应用的信息: 1.启动手机的app 2.使用adb shell dumpsys window | finds ...
- 阿里云IPSec的一些问题
1.阿里云IPSec无法进行多段连接单个IPSec连接 解决方案 在阿里云端需要如下操作 1.单个VPN网关下创建多个IPSec连接 连接属性一致 使用兴趣流模式.打开nat转换. 2段对2段 ...
- 从零搭建hadoop集群之安装jdk
卸载系统自带的OpenJDK以及相关的java文件 1. 查询系统自带的OpenJDK版本信息 [root@hadoop01 ~]# java -version #查询系统自带的OpenJDK版本信息 ...
- hyperfine spectra
!Hyperfine spectradefine int n xlet xlet name spect-'x'!file in 'name'.basfindget 3set mod x aset un ...
- PyTables学习 (数据保存形式,对象树结构)
参考自http://www.pytables.org/usersguide/introduction.html PyTables的主要目的是提供一个好的操作HDF5文件的方法. HDF文件是分层数据格 ...
- CSS 多栏布局 固定布局 流动布局
正常情况下都应该保持元素 height 属性的默认值 auto . 多栏布局,某一栏目占的总宽度包括它的,Width,margin,padding ,border. CSS3中,应用 box-siz ...
- vue 安装脚手架后配置自动打开浏览器
打开config目录下的index.js文件,将autoOpenBrowser: false,改为autoOpenBrowser: true,即可 autoOpenBrowser: true
- java技术系列(二) 反射
能够分析类能力的程序称为反射. 反射能力: 在运行中分析类的能力. 在运行中查看对象,例如:编写一个toString方法供所有类使用. 实现通用的数组操作代码. 利用Method对象.
- Ribbon负载均衡调用
pring cloud Ribbon 是基于Netfilix Ribbon 实现一套 客户端 负载均衡工具. 简单的说, Ribbon 是 Netflix 发布开源项目. 主要是提供客户端软件负载均衡 ...
- 36.Vim笔记
1.简介 $vim [filename] vim有三种操作模式,分别称为编辑模式.插入模式和命令模式 2.编辑模式 vim编辑模式的主要用途是在被编辑的文件中移动光标的位置.一旦光标移动到所要的位置, ...