Mysql查询正在执行的事务以及等待锁的操作方式
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,使用navicat测试学习:首先使用set autocommit = 0;(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚)在打开一个执行update查询 正在执行的事
千家信息网最后更新 2024年09月22日Mysql查询正在执行的事务以及等待锁的操作方式
使用navicat
测试学习:
首先使用set autocommit = 0;
(取消自动提交,则当执行语句commit或者rollback执行提交事务或者回滚)
在打开一个执行update
查询 正在执行的事务:
SELECT * FROM information_schema.INNODB_TRX
根据这个事务的线程ID(trx_mysql_thread_id
):
从上图看出对应的mysql
线程:一个94362 (第二个正在等待锁)另一个是93847(第一个update 正在执行 没有提交事务)
可以使用mysql命令:kill
线程id 杀掉线程
期间如果并未杀掉持有锁的线程:则第二个update语句提示等待锁超时
查询mysql数据库中还可以使用:
查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
查询mysql数据库中存在的进程
[sql] view plain copy
select * from information_schema.`PROCESSLIST`(show processlist;)
概念:
mysql中database
、instance
、session
。
mysql中建立一个会话,不是和具体的数据库相连接,而是跟instance建立会话(即在navicat上执行一个查询,可以查询端口下对应的多个数据库,查询时数据库名+数据表名即可)
在一个物理机上可以建立多个instance
,通过port
来区分实例。
而一个实例可以建立多个数据库,即一个会话可以操作一个实例上的多个数据库。
jdbc协议连接数据库:jdbc:mysql://localhost:3306/test
jdbc协议连接本地上端口为3306实例下的test数据库,则查询数据表时不需要加上数据库的名字。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
数据
数据库
查询
事务
线程
正在
多个
实例
内容
学习
数据表
端口
语句
上图
价值
名字
命令
就是
更多
概念
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
茂名工行网络技术公司
腾讯邮件接收服务器
随机选服务器
秘闻怎么和数据库对比
光纤网络技术与应用
网站中数据库的作用
网吧游戏服务器软件
网络安全学习难不难
宁夏北网网络技术有限公司
铁路部门国家网络安全演练
服务器电源灯亮但未开启
陕西东信网络技术有限公司
星网锐捷的网络安全
服务器上的cpu能用台式电脑吗
关于国家网络安全的视频
大连理工大学计算机网络技术
mysql数据库信息
2017国际网络安全大赛
数据库连接设置助手
软件开发开发对电脑
青少年网络安全可以写的话
如何把数据写入数据库sql
连接代理服务器被拒绝
服务器硬盘哪些测试软件好用
连接池连不上数据库
维护网络安全的警示意义有哪些
服务器不能解压压缩包
白云正规的网络安全服务
后台连接不到数据库可以打开吗
如何提取多表格数据库