日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL 查看鏈接及殺掉異常鏈接的方法

瀏覽:64日期:2023-10-05 16:09:11
前言:

在數(shù)據(jù)庫運維過程中,我們時常會關(guān)注數(shù)據(jù)庫的鏈接情況,比如總共有多少鏈接、有多少活躍鏈接、有沒有執(zhí)行時間過長的鏈接等。數(shù)據(jù)庫的各種異常也能通過鏈接情況間接反應出來,特別是數(shù)據(jù)庫出現(xiàn)死鎖或嚴重卡頓的時候,我們首先應該查看數(shù)據(jù)庫是否有異常鏈接,并殺掉這些異常鏈接。本篇文章將主要介紹如何查看數(shù)據(jù)庫鏈接及如何殺掉異常鏈接的方法。

1.查看數(shù)據(jù)庫鏈接

查看數(shù)據(jù)庫鏈接最常用的語句就是 show processlist 了,這條語句可以查看數(shù)據(jù)庫中存在的線程狀態(tài)。普通用戶只可以查看當前用戶發(fā)起的鏈接,具有 PROCESS 全局權(quán)限的用戶則可以查看所有用戶的鏈接。

show processlist 結(jié)果中的 Info 字段僅顯示每個語句的前 100 個字符,如果需要顯示更多信息,可以使用 show full processlist 。同樣的,查看 information_schema.processlist 表也可以看到數(shù)據(jù)庫鏈接狀態(tài)信息。

# 普通用戶只能看到當前用戶發(fā)起的鏈接mysql> select user();+--------------------+| user() |+--------------------+| testuser@localhost |+--------------------+1 row in set (0.00 sec)mysql> show grants;+----------------------------------------------------------------------+| Grants for testuser@%|+----------------------------------------------------------------------+| GRANT USAGE ON *.* TO ’testuser’@’%’ || GRANT SELECT, INSERT, UPDATE, DELETE ON `testdb`.* TO ’testuser’@’%’ |+----------------------------------------------------------------------+2 rows in set (0.00 sec)mysql> show processlist;+--------+----------+-----------+--------+---------+------+----------+------------------+| Id | User | Host | db | Command | Time | State | Info |+--------+----------+-----------+--------+---------+------+----------+------------------+| 769386 | testuser | localhost | NULL | Sleep | 201 | | NULL || 769390 | testuser | localhost | testdb | Query | 0 | starting | show processlist |+--------+----------+-----------+--------+---------+------+----------+------------------+2 rows in set (0.00 sec)mysql> select * from information_schema.processlist;+--------+----------+-----------+--------+---------+------+-----------+----------------------------------------------+| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |+--------+----------+-----------+--------+---------+------+-----------+----------------------------------------------+| 769386 | testuser | localhost | NULL | Sleep | 210 | | NULL || 769390 | testuser | localhost | testdb | Query | 0 | executing | select * from information_schema.processlist |+--------+----------+-----------+--------+---------+------+-----------+----------------------------------------------+2 rows in set (0.00 sec)# 授予了PROCESS權(quán)限后,可以看到所有用戶的鏈接mysql> grant process on *.* to ’testuser’@’%’;Query OK, 0 rows affected (0.01 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> show grants;+----------------------------------------------------------------------+| Grants for testuser@%|+----------------------------------------------------------------------+| GRANT PROCESS ON *.* TO ’testuser’@’%’ || GRANT SELECT, INSERT, UPDATE, DELETE ON `testdb`.* TO ’testuser’@’%’ |+----------------------------------------------------------------------+2 rows in set (0.00 sec)mysql> show processlist;+--------+----------+--------------------+--------+---------+------+----------+------------------+| Id | User | Host | db | Command | Time | State | Info |+--------+----------+--------------------+--------+---------+------+----------+------------------+| 769347 | root | localhost | testdb | Sleep | 53 | | NULL || 769357 | root | 192.168.85.0:61709 | NULL | Sleep | 521 | | NULL || 769386 | testuser | localhost | NULL | Sleep | 406 | | NULL || 769473 | testuser | localhost | testdb | Query | 0 | starting | show processlist |+--------+----------+--------------------+--------+---------+------+----------+------------------+4 rows in set (0.00 sec)

通過 show processlist 所得結(jié)果,我們可以清晰了解各線程鏈接的詳細信息。具體字段含義還是比較容易理解的,下面具體來解釋下各個字段代表的意思:

Id:就是這個鏈接的唯一標識,可通過 kill 命令,加上這個Id值將此鏈接殺掉。 User:就是指發(fā)起這個鏈接的用戶名。 Host:記錄了發(fā)送請求的客戶端的 IP 和 端口號,可以定位到是哪個客戶端的哪個進程發(fā)送的請求。 db:當前執(zhí)行的命令是在哪一個數(shù)據(jù)庫上。如果沒有指定數(shù)據(jù)庫,則該值為 NULL 。 Command:是指此刻該線程鏈接正在執(zhí)行的命令。 Time:表示該線程鏈接處于當前狀態(tài)的時間。 State:線程的狀態(tài),和 Command 對應。 Info:記錄的是線程執(zhí)行的具體語句。

當數(shù)據(jù)庫鏈接數(shù)過多時,篩選有用信息又成了一件麻煩事,比如我們只想查某個用戶或某個狀態(tài)的鏈接。這個時候用 show processlist 則會查找出一些我們不需要的信息,此時使用 information_schema.processlist 進行篩選會變得容易許多,下面展示幾個常見篩選需求:

# 只查看某個ID的鏈接信息select * from information_schema.processlist where id = 705207;# 篩選出某個用戶的鏈接select * from information_schema.processlist where user = ’testuser’;# 篩選出所有非空閑的鏈接select * from information_schema.processlist where command != ’Sleep’;# 篩選出空閑時間在600秒以上的鏈接select * from information_schema.processlist where command = ’Sleep’ and time > 600;# 篩選出處于某個狀態(tài)的鏈接select * from information_schema.processlist where state = ’Sending data’;# 篩選某個客戶端IP的鏈接select * from information_schema.processlist where host like ’192.168.85.0%’; 2.殺掉數(shù)據(jù)庫鏈接

如果某個數(shù)據(jù)庫鏈接異常,我們可以通過 kill 語句來殺掉該鏈接,kill 標準語法是:KILL [CONNECTION | QUERY] processlist_id;

KILL 允許使用可選的 CONNECTION 或 QUERY 修飾符:

KILL CONNECTION 與不含修改符的 KILL 一樣,它會終止該 process 相關(guān)鏈接。 KILL QUERY 終止鏈接當前正在執(zhí)行的語句,但保持鏈接本身不變。

殺掉鏈接的能力取決于 SUPER 權(quán)限:

如果沒有 SUPER 權(quán)限,則只能殺掉當前用戶發(fā)起的鏈接。 具有 SUPER 權(quán)限的用戶,可以殺掉所有鏈接。

遇到突發(fā)情況,需要批量殺鏈接時,可以通過拼接 SQL 得到 kill 語句,然后再執(zhí)行,這樣會方便很多,分享幾個可能用到的殺鏈接的 SQL :

# 殺掉空閑時間在600秒以上的鏈接,拼接得到kill語句select concat(’KILL ’,id,’;’) from information_schema.`processlist` where command = ’Sleep’ and time > 600;# 殺掉處于某個狀態(tài)的鏈接,拼接得到kill語句select concat(’KILL ’,id,’;’) from information_schema.`processlist` where state = ’Sending data’;select concat(’KILL ’,id,’;’) from information_schema.`processlist` where state = ’Waiting for table metadata lock’;# 殺掉某個用戶發(fā)起的鏈接,拼接得到kill語句select concat(’KILL ’,id,’;’) from information_schema.`processlist` user = ’testuser’;

這里提醒下,kill 語句一定要慎用!特別是此鏈接執(zhí)行的是更新語句或表結(jié)構(gòu)變動語句時,殺掉鏈接可能需要比較長時間的回滾操作。

總結(jié):

本篇文章講解了查看及殺掉數(shù)據(jù)庫鏈接的方法,以后懷疑數(shù)據(jù)庫有問題,可以第一時間看下數(shù)據(jù)庫鏈接情況。

以上就是MySQL 查看鏈接及殺掉異常鏈接的方法的詳細內(nèi)容,更多關(guān)于MySQL 查看鏈接及殺掉異常鏈接的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
人人爽香蕉精品| 日韩高清一区二区| 国产精品videossex久久发布 | 欧美一区久久| 四虎在线精品| 色狠狠一区二区三区| 免费在线看一区| 石原莉奈一区二区三区在线观看| 好看不卡的中文字幕| 合欧美一区二区三区| 日韩亚洲在线| 国产精品外国| 亚洲午夜免费| 婷婷成人av| 日韩国产欧美三级| 久久国产三级| 久草精品视频| 日韩在线观看| 一级欧洲+日本+国产| 伊人久久亚洲热| 在线日韩成人| 日韩国产欧美在线播放| 日韩精品久久久久久久软件91| 综合激情网站| 日韩av影院| 国产免费久久| 日韩1区在线| 免费成人网www| 99pao成人国产永久免费视频| 精品一区欧美| 视频一区二区三区入口| 日韩av一区二区三区四区| 91国内精品| 97精品国产| 在线亚洲自拍| 国产图片一区| 日韩中文在线电影| 午夜亚洲福利在线老司机| 91精品国产自产观看在线| 麻豆久久一区二区| 国产精品99一区二区| 中文字幕一区二区av| 欧美黄页在线免费观看| 精精国产xxxx视频在线野外| 国产 日韩 欧美 综合 一区| 亚洲天堂免费| 亚洲综合电影| 亚洲精品少妇| 蜜桃久久精品一区二区| 91久久黄色| 久久精品免费看| 国产精品久久观看| 久久精品一区二区国产| 国产成人精选| 国产一区二区三区四区| 欧美日韩国产在线观看网站| 日本va欧美va欧美va精品| 红杏一区二区三区| 伊人精品一区| 蜜桃一区二区三区在线观看| 国产精品成人自拍| 亚洲精品在线观看91| 久久激情综合网| 亚洲大片在线| 97精品久久| 国内精品福利| 国产精品亚洲欧美日韩一区在线| 欧美日韩精品一区二区视频| 国产色噜噜噜91在线精品 | 青草国产精品| 91精品91| 久久久久九九精品影院| 亚洲一区中文| 精品久久久网| 日韩精品欧美精品| 亚洲精品成人| 国产v日韩v欧美v| 97久久中文字幕| 欧美日韩国产亚洲一区| 激情久久99| 日韩av一区二区三区四区| 欧美一区二区三区高清视频| 久久a爱视频| 综合一区二区三区| 日韩精品第一区| 国产精品一区二区三区美女| 久久亚洲美女| 久久免费大视频| 国产精品日韩精品中文字幕| 国产亚洲欧洲| 波多野结衣久久精品| 国产欧美一区二区三区国产幕精品 | 欧美亚洲国产激情| 麻豆高清免费国产一区| 日韩黄色在线观看| 91精品99| 欧美日韩一二| 色婷婷亚洲mv天堂mv在影片| 免费久久精品视频| 91免费精品| 欧美aⅴ一区二区三区视频| 综合欧美精品| 午夜亚洲福利在线老司机| 亚洲手机在线| 视频二区不卡| 精品一区二区三区四区五区| 欧美一区二区三区久久| 中文字幕一区二区av| 亚洲激情偷拍| 婷婷精品进入| 91精品福利| 欧美福利专区| 欧洲av不卡| 国产aa精品| 久久香蕉精品香蕉| 欧美成人aaa| 国产精品国码视频| 国产精品22p| 国产亚洲欧美日韩在线观看一区二区 | 亚洲爱爱视频| 色偷偷偷在线视频播放| 成人午夜毛片| 四虎国产精品免费观看| 国产96在线亚洲| 黄色在线网站噜噜噜| 国产精品欧美大片| 欧美交a欧美精品喷水| 美日韩一区二区三区| 久久不卡日韩美女| 老司机精品视频网| 成人在线视频区| 成人国产精品一区二区免费麻豆| 久久99性xxx老妇胖精品| 国产精品久久国产愉拍| 卡一精品卡二卡三网站乱码| 国产精品乱战久久久| 欧美aa在线视频| 岛国精品一区| 三上悠亚国产精品一区二区三区| 神马久久午夜| 日本а中文在线天堂| 欧美日韩视频网站| 亚洲成人精品| 国产农村妇女精品一二区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲v天堂v手机在线| 97成人在线| 国内一区二区三区| 久久精选视频| 免费高清在线一区| 日韩av网站在线观看| 久久亚洲黄色| 亚洲成a人片| 蜜桃久久av| 国产精一区二区| 日韩成人免费| 黑丝一区二区三区| 日韩精品成人| 九九久久国产| 成人免费网站www网站高清| japanese国产精品| 亚洲精品进入| 色综合五月天| 99香蕉国产精品偷在线观看 | 国产精品午夜一区二区三区| 久久精品超碰| 欧洲精品一区二区三区| 樱桃成人精品视频在线播放| 日韩av一二三| 日韩国产激情| 日韩在线一区二区| 国产精品久av福利在线观看| 日韩啪啪电影网| 性一交一乱一区二区洋洋av| 日韩高清不卡一区二区| yellow在线观看网址| 亚洲一区二区三区高清不卡| 欧美亚洲三区| 91精品啪在线观看国产18| 亚洲影院天堂中文av色| 国产亚洲高清在线观看| 粉嫩av一区二区三区四区五区 | 国产一区二区三区黄网站| 欧美成人综合| 国产亚洲精品美女久久久久久久久久| 四虎成人av| 日韩一区免费| 91精品国产乱码久久久久久久| 亚洲欧美网站在线观看| 精品久久一区| 日韩视频二区| 欧美亚洲网站| 婷婷亚洲综合| 精品一区二区三区中文字幕视频| 亚洲黄页一区| 国内在线观看一区二区三区| 综合国产精品| 久久一区二区三区电影| 国产日韩中文在线中文字幕| 九九久久婷婷|