前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一次遇到了锁的问题

第一次遇到了锁的问题

作者头像
用户8889406
发布2023-03-05 15:31:49
3610
发布2023-03-05 15:31:49
举报
文章被收录于专栏:小呙同学

前言:终于在工作中遇到锁了,激动啊,事后发现然并卵 T T

原因

在插入一个语句的时候,一直卡住,然后一直在转圈圈,没响应。直接点了左侧的终止按钮。

发现查询(select)没有问题

image-20220727101432924
image-20220727101432924

但是inser 或者 update 还是卡住,并报错

[HYOOOJ[3] Error writing file "/tmp/MYfd=424" (OS errno 28 - No space left on device)

一开始认为的是锁表了,执行以下命令进行查询

代码语言:javascript
复制
SELECT * FROM information_schema.INNODB_TRX

或者使用这条命令

代码语言:javascript
复制
show processlist

发现的确有一条是LOCK WAIT的状态

image-20220729094606386
image-20220729094606386

然后直接kill掉这条事务锁,本以为就这样解决了,个人经验 + 1。

但是当我再次插入数据的时候,发现又卡住了,通过上面的SQL命令一查,咦,咋又是LOCK WAIT状态,奇了怪了,于是开始研究被我忽视的那条报错异常信息。

经过查找,发现该报错的原因就是OS errno 28 - No space left on device[操作系统错误号28-设备上没有剩余空间],因为服务器的磁盘空间不足了,导致MySQL数据无法插入。

解决方式

解决方式参考链接

image-20220729095238660-1659061906360
image-20220729095238660-1659061906360

查询出的结果

代码语言:javascript
复制
(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, trx_schedule_weight) VALUES (33697002, 'LOCK WAIT', '2022-07-27 10:02:33', '23409238364224:603:273:4:23406364832368', '2022-07-27 10:02:33', 2, 57747, 'UPDATE news_info  SET class_id=15,
level_two_id=0,
tag_id=''9'',
rich_text=''<p>测试内容</p>'',
title=''测试'',
preface=''测试内容'',
content=''测试内容'',
cover_img=''https://xxxx.jpeg'',
comment_num=2,
read_num=2420,
upvote_num=1,
share_num=0,
style=0,
is_focal=0,
is_push=0,
no_comments=0,
user_id=1,
posted_by=''admin'',
create_time=''2022-07-04 16:40:43'',
update_time=''2022-07-27 10:02:33.053'',
deleted=0  WHERE id=189', 'starting index read', 1, 1, 2, 1136, 1, 0, 0, 'REPEATABLE READ', 1, 1, null, 0, 0, 0, 0, 1);

参考链接

参考1

参考2

参考3

参考4

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原因
  • 解决方式
  • 查询出的结果
  • 参考链接
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档