一、关于锁的三张表(MEMORY引擎)
  
  ## 当前运行的所有事务
  
  mysql> select * from information_schema.innodb_trx\G;
  
  *************************** 1. row ***************************
  
  trx_id: 613963
  
  trx_state: LOCK WAIT #事务状态
  
  trx_started: 2019-02-22 10:48:48
  
  trx_requested_lock_id: 613963:460:3:4
  
  trx_wait_started: 2019-02-22 11:08:41
  
  trx_weight: 2
  
  trx_mysql_thread_id: 140
  
  trx_query: update tx1 set c1='heyfffff',c2='heyffffff' where id =3
  
  trx_operation_state: starting index read
  
  trx_tables_in_use: 1
  
  trx_tables_locked: 1
  
  trx_lock_structs: 2
  
  trx_lock_memory_bytes: 1136
  
  trx_rows_locked: 7 #事务锁住的行数
  
  trx_rows_modified: 0
  
  trx_concurrency_tickets: 0 #事务并发票数
  
  trx_isolation_level: REPEATABLE READ
  
  trx_unique_checks: 1
  
  trx_foreign_key_checks: 1
  
  trx_last_foreign_key_error: NULL
  
  trx_adaptive_hash_latched: 0
  
  trx_adaptive_hash_timeout: 0
  
  trx_is_read_only: 0
  
  trx_autocommit_non_locking: 0
  
  *************************** 2. row ***************************
  
  trx_id: 613962
  
  trx_state: RUNNING
  
  trx_started: 2019-02-22 10:46:29
  
  trx_requested_lock_id: NULL
  
  trx_wait_started: NULL
  
  trx_weight: 3
  
  trx_mysql_thread_id: 138
  
  trx_query: select * from information_schema.innodb_trx
  
  trx_operation_state: NULL
  
  trx_tables_in_use: 0
  
  trx_tables_locked: 1
  
  trx_lock_structs: 2
  
  trx_lock_memory_bytes: 1136
  
  trx_rows_locked: 1
  
  trx_rows_modified: 1
  
  trx_concurrency_tickets: 0
  
  trx_isolation_level: REPEATABLE READ
  
  trx_unique_checks: 1
  
  trx_foreign_key_checks: 1
  
  trx_last_foreign_key_error: NULL
  
  trx_adaptive_hash_latched: 0
  
  trx_adaptive_hash_timeout: 0
  
  trx_is_read_only: 0
  
  trx_autocommit_non_locking: 0
  
  2 rows in set (0.00 sec)
  
  ## 当前出现的锁
  
  mysql> select * from information_schema.innodb_locks\G;
  
  *************************** 1. row ***************************
  
  lock_id: 613963:460:3:4
  
  lock_trx_id: 613963
  
  lock_mode: X
  
  lock_type: RECORD
  
  lock_table: `test`.`tx1`
  
  lock_index: PRIMARY
  
  lock_space: 460
  
  lock_page: 3
  
  lock_rec: 4
  
  lock_data: 3
  
  *************************** 2. row ***************************
  
  lock_id: 613962:460:3:4
  
  lock_trx_id: 613962
  
  lock_mode: X
  
  lock_type: RECORD
  
  lock_table: `test`.`tx1`
  
  lock_index: PRIMARY
  
  lock_space: 460
  
  lock_page: 3
  
  lock_rec: 4
  
  lock_data: 3
  
  2 rows in set, 1 warning (0.00 sec)
  
  ## 锁等待的对应关系
  
  mysql> select * from information_schema.innodb_lock_waits\G;
  
  *************************** 1. row ***************************
  
  requesting_trx_id: 613963
  
  requested_lock_id: 613963:460:3:4 #请求锁的锁ID
  
  blocking_trx_id: 613962 #当前拥有锁的事务ID
  
  blocking_lock_id: 613962:460:3:4
  
  1 row in set, 1 warning (0.00 sec)
  
  二、查看锁的情况
  
  mysql> show status like 'innodb_row_lock_%';
  
  +-------------------------------+--------+
  
  | Variable_name | Value |
  
  +-------------------------------+--------+
  
  | Innodb_row_lock_current_waits | 1 |
  
  | Innodb_row_lock_time | 479764 |
  
  | Innodb_row_lock_time_avg | 39980 |
  
  | Innodb_row_lock_time_max | 51021 |
  
  | Innodb_row_lock_waits | 12 |
  
  +-------------------------------+--------+
  
  5 rows in set (0.00 sec)
  
  解释如下:
  
  Innodb_row_lock_current_waits : 当前等待锁的数量
  
  Innodb_row_lock_time : 系统启动到现在,锁定的总时间长度
  
  Innodb_row_lock_time_avg : 每次平均锁定的时间
  
  Innodb_row_lock_time_max : 最长一次锁定时间
  
  Innodb_row_lock_waits : 系统启动到现在总共锁定的次数
  
  # 查询是否锁表
  
  mysql> show OPEN TABLES where In_use > 0;
  
  +----------+-------+--------+-------------+
  
  | Database | Table | In_use | Name_locked |
  
  +----------+-------+--------+-------------+
  
  | test | tx1 | 1 | 0 |
  
  +----------+-------+--------+-------------+
  
  1 row in set (0.00 sec)
  
  三、杀死进程
  
  # 1.查询进程
  
  mysql> show processlist\G # \G 结构旋转90度变成纵向
  
  *************************** 1. row ***************************
  
  Id: 138
  
  User: root
  
  Host: localhost:55106
  
  db: test
  
  Command: Query
  
  Time: 0
  
  State: starting
  
  Info: show processlist
  
  *************************** 2. row ***************************
  
  Id: 140
  
  User: root
  
  Host: localhost:56158
  
  db: test
  
  Command: Sleep
  
  Time: 145
  
  State:
  
  Info: NULL
  
  2 rows in set (0.00 sec)
  
  2 rows in set (0.00 sec)
  
  # 2.杀死对应进程ID
  
  mysql> kill 140;
  
  Query OK, 0 rows affected (0.00 sec)
  
  mysql> show processlist\G
  
  *************************** 1. row ***************************
  
  <script src="https://www.zhenghongyule.com cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
  
  <link href="https://dasheng178.com maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
  
  <script src="https://www.yongshiyule178.com cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
  
  <style>
  
  div.item img{
  
  width:100%;
  
  }
  
  div#carousel-example-generic{
  
  width:80%;
  
  margin:0 auto;
  
  }
  
  </style>
  
  <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
  
  <!-- 轮播指标 -->
  
  <ol class="carousel-indicators">
  
  <li data-target="#carousel-example-generic"www.yinxionghui1.com data-slide-to="0" class="active"></li>
  
  <li data-target="#carousel-example-generic" www.yigouylpt2.cn/ data-slide-to="1"></li>
  
  <li data-target="#carousel-example-generic"www.zhongxinyul2.com data-slide-to="2"></li>
  
  <li data-target="#carousel-example-generic"www.xtd912.com data-slide-to="3"></li>
  
  </ol>
  
  <!-- 轮播的幻灯片项目 -->
  
  <div class="carousel-inner" role="listbox">
  
  <div class="item active">
  
  <img src="http://pic1.win4000.com/wallpaper/2019-02-21/5c6e434e8d2fb.jpg" >
  
  </div>
  
  <div class="item">
  
  <img src="http://pic1.win4000.com/wallpaper/2019-02-11/5c6137ee00320.jpg" >
  
  </div>
  
  <div class="item">
  
  <img src="http://pic1.win4000.com/wallpaper/2019-01-27/5c4d7aa191adb.jpg" >
  
  </div>
  
  <div class="item">
  
  <img src="http://pic1.win4000.com/wallpaper/2019-01-27/5c4d7a9f6030c.jpg" >
  
  </div>
  
  </div>
  
  Id: 138
  
  User: root
  
  Host: localhost:55106
  
  db: test
  
  Command: Query
  
  Time: 0
  
  State: starting
  
  Info: show processlist
  
  1 row in set (0.00 sec)
  
  四、SQL分析
  
  描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。
  
  0. 1.EXPLAIN tbl_name 或 EXPLAIN [EXTENDED] SELECT select_options
  
  2.
  
  五、数据库的一些默认设置
  
  # 查看数据库默认存储引擎
  
  mysql> show engines;
  
  +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
  
  | Engine | Support | Comment | Transactions | XA | Savepoints |
  
  +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
  
  | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
  
  | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
  
  | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
  
  | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
  
  | MyISAM | YES | MyISAM storage engine | NO | NO | NO |
  
  | CSV | YES | CSV storage engine | NO | NO | NO |
  
  | ARCHIVE | YES | Archive storage engine | NO | NO | NO |
  
  | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
  
  | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
  
  +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
  
  9 rows in set (0.00 sec)
  
  # 查看当前数据库默认隔离级别
  
  mysql> select @@global.tx_isolation;
  
  +-----------------------+
  
  | @@global.tx_isolation |
  
  +-----------------------+
  
  | REPEATABLE-READ |
  
  +-----------------------+
  
  1 row in set, 1 warning (0.00 sec)
  
  # 默认自动提交事务
  
  mysql> show global variables like 'autocommit';
  
  +---------------+-------+
  
  | Variable_name | Value |
  
  +---------------+-------+
  
  | autocommit | ON |
  
  +---------------+-------+
  
  1 row in set (0.00 sec)
  
  mysql> select @@global.autocommit;
  
  +---------------------+
  
  | @@global.autocommit |
  
  +---------------------+
  
  | 1 |
  
  +---------------------+
  
  1 row in set (0.00 sec)

查看Mysql正在执行的事务、锁、等待的更多相关文章

  1. mysql 查询正在执行的事务以及等待锁 常用的sql语句

    使用navicat测试学习: 首先使用set autocommit = 0;(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚)   在打开一个执行update查询 正在 ...

  2. MySQL事务锁等待超时 Lock wait timeout exceeded; try restarting transaction

    工作中处理定时任务分发消息时出现的问题,在查找并解决问题的时候,将相关的问题博客收集整理,在此记录下,以便之后再遇到相同的问题,方便查阅. 问题场景 问题出现的场景: 在消息队列处理消息时,同一事务内 ...

  3. MySQL · 引擎特性 · InnoDB 事务锁简介

    https://yq.aliyun.com/articles/4270# zhaiwx_yinfeng 2016-02-02 19:00:43 浏览2194 评论0 mysql innodb lock ...

  4. 查看Mysql实时执行的Sql语句

    最近给客户开发了基于Asp.Net mvc5 +Mysql+EF的项目,但是在EF里无法看到Mysql执行的语句 之前也找到一些监控Mysql的软件但一直没有用起来,现在又遇到了问题即在EF里Mysa ...

  5. 查看mysql正在执行的SQL语句,使用profile分析SQL执行状态

    http://qq85609655.iteye.com/blog/2113960 1)我们先通过status命令查看Mysql运行状态 mysql> status; -------------- ...

  6. 查看MySQL最近执行的语句

    首先登入MySQL. Reading table information for completion of table and column names You can turn off this ...

  7. 查看MySQL正在执行的线程

    一.使用SQL语句查询正在执行的线程 SHOW PROCESSLIST; 二.使用kill 线程id就可以结束线程(引起数据变化的线程需特别小心) SHOW PROCESSLIST; +------+ ...

  8. 使用explain查看mysql查询执行计划

    explain语句: 字段解释: type:     all(全表扫描)     ref() possible_keys:     预测使用什么列做为索引 key:     实际使用的key     ...

  9. MySQL事务锁问题-Lock wait timeout exceeded

    转载:https://cloud.tencent.com/developer/article/1356959 问题现象:   接口响应时间超长,耗时几十秒才返回错误提示,后台日志中出现Lock wai ...

随机推荐

  1. 使用云负载时将http的请求转发至https时报错:“ERR_TOO_MANY_REDIRECTS”!

    问题描述: 新业务正式环境部署,使用云负载(有http监听也有https监听)在我向我的 Web 服务器添加重定向逻辑后,我的网站停止工作,并且我收到错误 ERR_TOO_MANY_REDIRECTS ...

  2. kubenetes无法创建pod/创建RC时无法自动创建pod的问题

    一.问题概述 问题1: 虽然每次通过yaml创建rc都显示成功了,但是 kubectl get pod却没显示任何的pod. 问题2: 直接通过yaml创建pod提示apixxx 问题3: 通过.js ...

  3. NO--15 微信小程序,scroll-view选项卡和跳转

    大多数的商城类小程序都有这个功能,点击“全部订单”,“待付款”,“待发货”,“待收货”,“已完成”,会跳转页面且跳至与之相对应的选项卡中.所以我们在开发该小程序时也做了相同的功能.如下图:   scr ...

  4. Linux下出现permission denied的解决办法

    Linux下经常出现permission denied,原因是由于权限不足,有很多文章通过chmod命令更改权限为777,但是很不方便也不适合新手,简单粗暴的方法如下: 命令行中输入 sudo pas ...

  5. anaconda+pycharm的安装和应用

    至于anaconda的安装与pycharm的安装在此不做多说,主要说下遇到的问题. 问题描述: 安装anaconda后,pip下载的第三方库调用不到. 原因分析: anaconda自带的python3 ...

  6. gitlab+jenkins持续集成--http方式连接gitlab

    http://v.youku.com/v_show/id_XMjk3NTYyMDUxMg==.html?spm=a2h3j.8428770.3416059.1

  7. node http模块搭建简单的服务和客户端

    node-http Node.js提供了http模块,用于搭建HTTP服务端和客户端. 创建Web服务器 server.js /** * node-http 服务端 */ let http = req ...

  8. yarn (npm) 切换设置镜像源

    设置镜像源 1.查看一下当前源 yarn config get registry 2.切换为淘宝源 yarn config set registry https://registry.npm.taob ...

  9. Sprint计划表

    Sprint会议计划 一.Sprint  需求 准备环节:小组成员利用周六周日在网上查阅Android开发的教程,练习开发一些简单的小程序,具备一定的开发能力,在电脑上搭建Android开发环境,做好 ...

  10. <构建之法>阅读感想

    在阅读<构建之法>之前,我所认为的软件就是通过c,c++等语言编程,制作出的一个能满足人们操作需求的一些代码,认为一个好的软件工程师,就是能够在很短的时间之内,最快的根据需求写出几段代码程 ...