记一次腾讯云数据库表死锁的经历

olei 2,769 views 1

朋友一次在腾讯云数据库后台的phpmyadmin导入sql脚本,页面爆出404的错误:

之后刷新表创建成功,但是表打不开,呈现了死锁状态,删除表也删除不了,命令行登录不带-A参数,use数据库use不了,腾讯云数据库后台的导入功能也受到影响

CPU飙升到百分之百,但其他数据库、表查询等功能不受影响。

第一时间想到的是,表死锁坏掉了,果然登录到腾讯云的DCM的查看会话,一堆的PAM的IP的select去查询这个表

DCM的会话对于PAM的IP的会话无法直接kill掉,所以采用了命令行的方式去kill

服务器采用mysql的客户端程序登录到腾讯云数据库:

  1. mysql -h xx.xx.xx.xx -u xxx -p xxx -A

注意,这个-u后面的用户必须是授权的用户,root这个东西,腾讯云上是个假的root,切记单独给这个数据库设置一个账户

登录数据库之后

  1. > use xxx;
  2. > show full processlist;

会看到一堆占用的会话,使用kill id的方式来kill掉会话

之后把那个死锁的表删除掉

  1. > drop table xxx;

 切记:导入的时候一定不要在腾讯云数据库后台的phpmyadmin导入,很容易会出现上述的问题,导致数据表损坏死锁,CPU飙升

腾讯云云数据库没有阿里云数据库的后台做的好,很多东西都不方便,不过腾讯云正在着手做这件事情,期待后台的完善!

发表评论 取消回复
表情 图片 链接 代码

  1. yanerge
    yanerge Lv 1

    感谢博主的文章 nice

分享