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

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

http://www.kler.cn/a/284911.html

相关文章:

  • python高效处理大数据:将Excel10万数据分批插入MySQL数据库的实战代码
  • K8资源之endpoint资源EP资源
  • [代码随想录Day10打卡] 理论基础 232.用栈实现队列 225. 用队列实现栈 20. 有效的括号 1047. 删除字符串中的所有相邻重复项
  • SciPy:Python 科学计算工具包的全面教程
  • Mysql 8迁移到达梦DM8遇到的报错
  • HarmonyOS ArkTS 下拉列表组件
  • K8S Job
  • CSS优化实践
  • 计算机毕业设计选题推荐-二手物品回收系统-Java/Python项目实战
  • Nuxt3入门:资源文件(第2节)
  • LeetCode第65题 有效数字 结合设计模式:状态模式
  • Linux下C++编程使用动态链接库
  • Openldap可视化工具PhpLdapAdmin服务配置
  • TMPDIR在pip|pip3 install时的作用以及tmp只有noexec权限的解决方法
  • 问题记录之Qt Creator下qDebug中文乱码
  • SparkSQL缓存的用法
  • IM社交-前言
  • 负载均衡的分类有哪些?
  • 路由策略工具
  • 51单片机——模块化编程
  • Kafka分布式集群部署实战:跨越理论,直击生产环境部署难题与解决方案,性能调优、监控与管理策略大揭秘,轻松上手分布式消息中间件
  • 【SQL基础】【leetcode】SQL50题
  • 『功能项目』技能释放【08】
  • Java设计模式【解释器模式】-行为型
  • 【QT线程学习】
  • PowerDesigner16.5 从mysql5.7逆向工程