mysql狀態(tài)怎么看 mysql查看sid

查詢(xún)mysql 哪些表正在被鎖狀態(tài)

1.查看表是否被鎖:

我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、龍州ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的龍州網(wǎng)站制作公司

(1)直接在mysql命令行執(zhí)行:showengineinnodbstatus\G。

(2)查看造成死鎖的sql語(yǔ)句,分析索引情況,然后優(yōu)化sql。

(3)然后showprocesslist,查看造成死鎖占用時(shí)間長(zhǎng)的sql語(yǔ)句。

(4)showstatuslike‘%lock%。

2.查看表被鎖狀態(tài)和結(jié)束死鎖步驟:

(1)查看表被鎖狀態(tài):showOPENTABLESwhereIn_use0;這個(gè)語(yǔ)句記錄當(dāng)前鎖表狀態(tài)。

(2)查詢(xún)進(jìn)程:showprocesslist查詢(xún)表被鎖進(jìn)程;查詢(xún)到相應(yīng)進(jìn)程killid。

(3)分析鎖表的SQL:分析相應(yīng)SQL,給表加索引,常用字段加索引,表關(guān)聯(lián)字段加索引。

(4)查看正在鎖的事物:SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCKS。

(5)查看等待鎖的事物:SELECT*FROMINFORMATION_SCHEMA.INNODB_LOCK_WAITS。

擴(kuò)展資料

MySQL鎖定狀態(tài)查看命令:

Checkingtable:正在檢查數(shù)據(jù)表(這是自動(dòng)的)。

Closingtables:正在將表中修改的數(shù)據(jù)刷新到磁盤(pán)中,同時(shí)正在關(guān)閉已經(jīng)用完的表。這是一個(gè)很快的操作,如果不是這樣的話(huà),就應(yīng)該確認(rèn)磁盤(pán)空間是否已經(jīng)滿(mǎn)了或者磁盤(pán)是否正處于重負(fù)中。

ConnectOut:復(fù)制從服務(wù)器正在連接主服務(wù)器。

Copyingtotmptableondisk:由于臨時(shí)結(jié)果集大于tmp_table_size,正在將臨時(shí)表從內(nèi)存存儲(chǔ)轉(zhuǎn)為磁盤(pán)存儲(chǔ)以此節(jié)省內(nèi)存。

Creatingtmptable:正在創(chuàng)建臨時(shí)表以存放部分查詢(xún)結(jié)果。

deletingfrommaintable:服務(wù)器正在執(zhí)行多表刪除中的第一部分,剛刪除第一個(gè)表。

deletingfromreferencetables:服務(wù)器正在執(zhí)行多表刪除中的第二部分,正在刪除其他表的記錄。

Flushingtables:正在執(zhí)行FLUSHTABLES,等待其他線程關(guān)閉數(shù)據(jù)表。

Killed:發(fā)送了一個(gè)kill請(qǐng)求給某線程,那么這個(gè)線程將會(huì)檢查kill標(biāo)志位,同時(shí)會(huì)放棄下一個(gè)kill請(qǐng)求。MySQL會(huì)在每次的主循環(huán)中檢查kill標(biāo)志位,不過(guò)有些情況下該線程可能會(huì)過(guò)一小段才能死掉。如果該線程程被其他線程鎖住了,那么kill請(qǐng)求會(huì)在鎖釋放時(shí)馬上生效。

Locked:被其他查詢(xún)鎖住了。

Sendingdata:正在處理SELECT查詢(xún)的記錄,同時(shí)正在把結(jié)果發(fā)送給客戶(hù)端。

Sortingforgroup:正在為GROUPBY做排序。

Sortingfororder:正在為ORDERBY做排序。

Openingtables:這個(gè)過(guò)程應(yīng)該會(huì)很快,除非受到其他因素的干擾。例如,在執(zhí)ALTERTABLE或LOCKTABLE語(yǔ)句行完以前,數(shù)據(jù)表無(wú)法被其他線程打開(kāi)。正嘗試打開(kāi)一個(gè)表。

Removingduplicates:正在執(zhí)行一個(gè)SELECTDISTINCT方式的查詢(xún),但是MySQL無(wú)法在前一個(gè)階段優(yōu)化掉那些重復(fù)的記錄。因此,MySQL需要再次去掉重復(fù)的記錄,然后再把結(jié)果發(fā)送給客戶(hù)端。

Reopentable:獲得了對(duì)一個(gè)表的鎖,但是必須在表結(jié)構(gòu)修改之后才能獲得這個(gè)鎖。已經(jīng)釋放鎖,關(guān)閉數(shù)據(jù)表,正嘗試重新打開(kāi)數(shù)據(jù)表。

Repairbysorting:修復(fù)指令正在排序以創(chuàng)建索引。

Repairwithkeycache:修復(fù)指令正在利用索引緩存一個(gè)一個(gè)地創(chuàng)建新索引。它會(huì)比Repairbysorting慢些。

Searchingrowsforupdate:正在講符合條件的記錄找出來(lái)以備更新。它必須在UPDATE要修改相關(guān)的記錄之前就完成了。

Sleeping:正在等待客戶(hù)端發(fā)送新請(qǐng)求。

Systemlock:正在等待取得一個(gè)外部的系統(tǒng)鎖。如果當(dāng)前沒(méi)有運(yùn)行多個(gè)mysqld服務(wù)器同時(shí)請(qǐng)求同一個(gè)表,那么可以通過(guò)增加--skip-external-locking參數(shù)來(lái)禁止外部系統(tǒng)鎖。

Upgradinglock:INSERTDELAYED正在嘗試取得一個(gè)鎖表以插入新記錄。

Updating:正在搜索匹配的記錄,并且修改它們。

UserLock:正在等待GET_LOCK()。

Waitingfortables:該線程得到通知,數(shù)據(jù)表結(jié)構(gòu)已經(jīng)被修改了,需要重新打開(kāi)數(shù)據(jù)表以取得新的結(jié)構(gòu)。然后,為了能的重新打開(kāi)數(shù)據(jù)表,必須等到所有其他線程關(guān)閉這個(gè)表。

waitingforhandlerinsert:INSERTDELAYED已經(jīng)處理完了所有待處理的插入操作,正在等待新的請(qǐng)求。

Mysql表分區(qū)狀態(tài)查詢(xún)

一、查詢(xún)mysql表是否為分區(qū)表:可以查看表具有哪幾個(gè)分區(qū)、分區(qū)的方法、分區(qū)中數(shù)據(jù)的記錄數(shù)等信息

SELECT PARTITION_NAME,PARTITION_METHOD,PARTITION_EXPRESSION,PARTITION_DESCRIPTION,TABLE_ROWS,SUBPARTITION_NAME,SUBPARTITION_METHOD,SUBPARTITION_EXPRESSION

FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA=SCHEMA() AND TABLE_NAME='xw_coobill_order';

二、查詢(xún)表有多少個(gè)分區(qū)

SELECT TABLE_NAME, COUNT(*) AS CNT

FROM information_schema.PARTITIONS WHERE PARTITION_NAME IS NOT NULL

GROUP BY TABLE_NAME ORDER BY CNT DESC LIMIT 50;

三、分析執(zhí)行語(yǔ)句

explain partitions select * from range_datetime where hiredate = '20151207124503' and hiredate='20151210111230';

四、分區(qū)管理

常規(guī)HASH和線性HASH的增加收縮分區(qū)的原理是一樣的。增加和收縮分區(qū)后原來(lái)的數(shù)據(jù)會(huì)根據(jù)現(xiàn)有的分區(qū)數(shù)量重新分布。HASH分區(qū)不能刪除分區(qū),所以不能使用DROP PARTITION操作進(jìn)行分區(qū)刪除操作;

只能通過(guò)ALTER TABLE ... COALESCE PARTITION num來(lái)合并分區(qū),這里的num是減去的分區(qū)數(shù)量;

可以通過(guò)ALTER TABLE ... ADD PARTITION PARTITIONS num來(lái)增加分區(qū),這里是null是在原先基礎(chǔ)上再增加的分區(qū)數(shù)量。

怎么查看mysql數(shù)據(jù)庫(kù)服務(wù)是否開(kāi)啟?

1、首先Win+R組合鍵,輸入cmd。

2、接著輸入mysql用戶(hù)名密碼進(jìn)入命令行狀態(tài)。

3、然后show databases展示所有數(shù)據(jù)庫(kù)。

4、接著use選擇要操作的數(shù)據(jù)庫(kù)。

5、然后show status查看狀態(tài)。

6、最后列出了數(shù)據(jù)庫(kù)所有的屬性,說(shuō)明數(shù)據(jù)庫(kù)已開(kāi)啟。

網(wǎng)頁(yè)題目:mysql狀態(tài)怎么看 mysql查看sid
網(wǎng)站鏈接:http://www.bm7419.com/article26/ddcshcg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)靜態(tài)網(wǎng)站、云服務(wù)器、電子商務(wù)、網(wǎng)站內(nèi)鏈品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司