mysql 14 关闭休眠链接

mysql link处理

  • 在生产过程中,我们可能会遇到因为无效的休眠链接导致某张表无法操作程序一直阻塞的问题
  • 这种没有关闭的休眠link可能有各种各样的愿意产生
    1.1 代码报错,导致没有自动关闭连接
    1.2 人员使用完后没有关闭连接
import pymysql

def Close_Link(ip,user,password,dbname):
	"""
	ip 是服务器的ip
	user 是用来关闭连接的用户,如果是root 会关闭所有用户的休眠连接,否则只会关闭自己的休眠
	通过执行show full porcesslist 查看
	具体情况可以将状态和状态时间一起判断使用。
	"""
    db = pymysql.connect(host=ip, user=user, password=password, port=3306, db=dbname, charset="utf8")
    cursor = db.cursor()
    sql = "show full PROCESSLIST"
    cursor.execute(sql)
    state_list = cursor.fetchall()
    kill_id = []
    for i in state_list:
        if i[4] == "Sleep":
            kill_id.append(i[0])
        else:
            pass
    for j in range(len(kill_id)):
        sql = f"kill {kill_id[j]}"
        cursor.execute(sql)
    cursor.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值