MySQL oturum kilidi bekleme ilişkisi prensibinin ayrıntılı açıklaması-4 temel tablo

Genel Bakış

Bugün esas olarak MySQL oturum kilidi bekleme ilişkisi ilkesini tanıtıyoruz. Genel olarak konuşursak, mysql oturum bağımlılığını anlamak istiyorsanız, asıl önemli olan kilit bekleme ile dört tablo arasındaki ilişkiyi anlamaktır.

Buradaki ana mantık şudur: hangi işlemin mevcut oturum tutmalarını kilitlediğini ve hangi işlem kilitlerinin bağlı olduğunu ilk sorgulama ve bu iki kilit aracılığıyla bir grafik ilişkisi elde edilebilir.

1. Mevcut oturum tarafından tutulan kilidi sorgulayın

Aşağıdaki gibi ilerleyin:

1. Geçerli oturum processlist.id dosyasını sorgulayın

2. processlist.id, innodb_trx tablosundaki TRX_MYSQL_THREAD_ID'ye karşılık gelir, böylece mevcut oturumun işlem kimliğini sorgulayabilirsiniz

3. blocking_trx_id'in mevcut oturumun işlem kimliği olduğu lock_waits'te sorgu, böylece mevcut oturumun holding lock_id'si elde edilir.

4. innodb_lock'a lock_id'e göre, mevcut oturumun kilit bilgilerini sorgulayabilirsiniz.

Aslında, kilit bilgisini bilmeden yalnızca oturumun bağımlılıklarını sorgulamanız gerekiyorsa, üçüncü adıma geçebilirsiniz. Trx_id'i elde etmek için innodb_trx tablosunu kontrol etmek için üçüncü adımda REQUESTING_TRX_ID'yi kullanın ve mevcut oturum tarafından bloke edilmek için işlem listesi tablosunu kontrol edin. Konuşmaların listesi.

İkinci olarak, mevcut oturumun beklediği kilidi sorgulayın

Aşağıdaki gibi ilerleyin:

1. Geçerli oturum processlist.id dosyasını sorgulayın

2. processlist.id, innodb_trx tablosundaki TRX_MYSQL_THREAD_ID'ye karşılık gelir, böylece mevcut oturumun işlem kimliğini sorgulayabilirsiniz

3. Mevcut oturumun işlem kimliği olarak REQUESTING_TRX_ID'yi sorgulamak için lock_waits'e gidin, böylece bekleyen mevcut oturumun lock_id'ini alabilirsiniz.

4. innodb_lock'a lock_id'e göre, mevcut oturumun beklediği kilit bilgisini sorgulayabilirsiniz.

Benzer şekilde, aslında, kilit bilgilerini bilmeden yalnızca oturumun bağımlılıklarını sorgulamanız gerekiyorsa, üçüncü adıma geçebilirsiniz. Trx_id'i almak için innodb_trx tablosunu kontrol etmek için üçüncü adımda blocking_trx_id kullanın ve geçerli olanı almak için işlem listesi tablosunu kontrol edin. Seansı bekleyen hangi seanslar kilidi tutuyor.

Core 4 tabloları

Aşağıda, kilidin ana tablo kısmının tablo yapısı listelenmiştir:

1. INFORMATION_SCHEMA.PROCESSLIST

İŞLEM LİSTESİ tablosu hangi iş parçacıklarının çalıştığı hakkında bilgi sağlar.

INFORMATION_SCHEMA İsim GÖSTER İsim Açıklamalar

2. INFORMATION_SCHEMA INNODB_TRX Tablosu

3. INFORMATION_SCHEMA INNODB_LOCK_WAITS Tablosu

4. INFORMATION_SCHEMA INNODB_LOCKS Tablosu

Alan sınırlıdır, burada deneysel testlere gerek yoktur, ayrıca kilitlenmeyi basitçe simüle edebilir ve ardından izleniminizi derinleştirmek için bu 4 tabloyu kontrol edebilirsiniz. Daha sonra daha fazla devop ve DBA içeriği paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir ~

1200! Hebei "Üç Destek ve Bir Destek" kayıt olmak üzere, en son iş listesi
önceki
4,8 milyar Carrefour'u satın aldı ve yılda 1 milyar zarar etti! Suning'in parası nereden geldi?
Sonraki
Oracle grafik arabirimi birleşik bir çözümü çağıramaz - VNC hizmeti
Linux komutlarını ayrıntılı olarak açıklayın --- htpasswd ile bir şifre dosyası nasıl oluşturulur?
Wong Lo Katın "Yağsız Sütlü Çay" lansmanının arkasındaki sebep nedir?
Mysql veritabanı-global, veritabanı katmanı, yüzey katmanı, sütun katmanı ve alt program katmanının beş katmanlı izinlerini ayrıntılı olarak açıklayın
Devlerin imrendiği batan pazar, Pinduoduo'nun bariz avantajları var! Kırsal kullanıcılar: çok uygun
Açık kaynaklı bir yeniden görselleştirme aracı önerin - Redis Desktop Manager
Didi hala oturamıyor mu? Birkaç milyar kan kaybından sonra, Tencent kişisel olarak sona erdi
İnatçı bir hastalığı hatırlayın: Checksum yardımcı programı'shasum 'çözüm bulunamadı
Huawei, AI yerel veritabanı GaussDB ve dağıtılmış depolama FusionStorage 8.0'ı yayınladı
Süper Pratik Büyük Ölçekli Dağıtılmış Bir Sistem olan Nokta Tespit Teknolojisine Giriş
Japon gangsterlerinin düzgün davranmamasını sağlayan sütlü çayın büyüsü nedir?
Mysql silinin, sorunu azaltmadan kayıt veritabanı alanını silmesi sorununun üç çözümünü açıklayın
To Top