当前位置: 首页 > news >正文

MySQL:简述事务的SQL操作

1、查询数据库的隔离级别

选择数据库,查看当前事务隔离界别。
(1)读未提交:READ-UNCOMMITTED
(2)读已提交:READ-COMMITTED
(3)可重复读:REPEATABLE-READ
(4)串行化:SERIALIZABLE

select @@tx_isolation;
select @@global.tx_isolation;

2、设置数据库的隔离级别

set global tx_isolation='REPEATABLE-READ';

3、查询运行中的事务

只能查询此刻正在进行中的事务,已经完成的是查不到的。

SELECT * FROM information_schema.INNODB_TRX;

查询结果包含如下列:trx_id
trx_state
trx_started
trx_requested_lock_id
trx_wait_started
trx_weight
trx_mysql_thread_id
trx_query
trx_operation_state
trx_tables_in_use
trx_tables_locked
trx_lock_structs
trx_lock_memory_bytes
trx_rows_locked
trx_rows_modified
trx_concurrency_tickets
trx_isolation_level
trx_unique_checks
trx_foreign_key_checks
trx_last_foreign_key_error
trx_adaptive_hash_latched
trx_adaptive_hash_timeout
trx_is_read_only
trx_autocommit_non_locking

4、查看连接及对应的事务

比上述查询结果多了如下字段:

SELECT * FROM information_schema.processlist p 
LEFT JOIN information_schema.INNODB_TRX t 
ON p.id = t.trx_mysql_thread_id;

在这里插入图片描述

5、设置AutoCommit

MySQL默认操作模式就是AutoCommit自动提交模式。这就表示除非显式地开始一个事务,否则每个查询都被当做一个单独的事务自动执行。我们可以通过设置AutoCommit的值改变是否是自动提交AutoCommit模式。
通过以下命令可以查看当前autocommit模式

show variables like 'autocommit';

关闭自动提交,每次sql必须通过commit命令提交.

set autocommit = 0;

6、查看进程列表+删除指定进程

SHOW PROCESSLIST;kill 进程号

在这里插入图片描述

7、锁超时时间的相关操作

查看当前锁超时时间

show variables like 'innodb_lock_wait_timeout';

查看全局锁超时时间

SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait_timeout';

更改当前锁超时时间为120秒

SET innodb_lock_wait_timeout=120;

更改全局锁超时时间为120秒

SET GLOBAL innodb_lock_wait_timeout=120

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 48.x86游戏实战-封包抓取进图call
  • 数据结构之邻接表
  • PTA - C语言国庆题集1
  • 【Python机器学习】NLP分词——利用分词器构建词汇表(一)
  • 题解:UVA1590 IP网络 IP Networks
  • iframe中postmessage重复返回多次相同信息
  • STM32G474的HAL_ADC_Start_DMA()传递指针问题
  • JS中this的指向问题、JS的执行机制、offset、client、scroll
  • 面试题:遍历三颗相连的满二叉树
  • OpenCV(第二关--读取图片和摄像头)实例+代码
  • 探索贪心算法:解决优化问题的高效策略
  • selenium(二)基于java、元素操控、Frame切换、元素等待
  • 【Go语言基础】调度器模型GPM与垃圾回收器GC
  • GNU/Linux - RSYSLOG
  • 基于大数据分析景区消费行为影响因素研究【消费等级预测、携程,去哪网数据抓取】
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【Linux系统编程】快速查找errno错误码信息
  • 【翻译】babel对TC39装饰器草案的实现
  • ESLint简单操作
  • express + mock 让前后台并行开发
  • express如何解决request entity too large问题
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Redis 懒删除(lazy free)简史
  • use Google search engine
  • vue 配置sass、scss全局变量
  • webpack入门学习手记(二)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽
  • 微信小程序--------语音识别(前端自己也能玩)
  • 用 Swift 编写面向协议的视图
  • ​14:00面试,14:06就出来了,问的问题有点变态。。。
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # windows 安装 mysql 显示 no packages found 解决方法
  • #13 yum、编译安装与sed命令的使用
  • $ git push -u origin master 推送到远程库出错
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (6)添加vue-cookie
  • (9)STL算法之逆转旋转
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (三) diretfbrc详解
  • (十)Flink Table API 和 SQL 基本概念
  • (转)大型网站架构演变和知识体系
  • ***监测系统的构建(chkrootkit )
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .net core 外观者设计模式 实现,多种支付选择
  • .Net Winform开发笔记(一)
  • .NET 回调、接口回调、 委托
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • [202209]mysql8.0 双主集群搭建 亲测可用