Çalışan MySQL Süreçlerini Gösterme

Calisan Mysql Sureclerini Gosterme



MySQL sunucunuzda çok sayıda iş parçacığının çalıştığı bir duruma sahip olmak mümkündür. Bu ileti dizilerinden boşta kalanlar, çalışan işlemleri göremediğiniz ve şu anda ihtiyacınız olmayanları kapatamadığınız sürece MySQL sunucunuzda hataya neden olabilir.

MySQL, kullanıcıların çalışan işlemleri listelemesi için çeşitli seçenekler sunan ilişkisel bir DBMS'dir. Çalışan MySQL süreçlerini nasıl göstereceğimizi anlatacağız.







MySQL İşlemlerini Tanımlama

Sunucunuzda bir MySQL veritabanınız olduğunda, sahip olduğu yük miktarını kontrol etmek için ara sıra durumunu kontrol etmeniz gerekebilir. MySQL veri tabanınızda çeşitli sorgularda gecikmeler ya da problemler fark ettiğinizde, fazla ve atıl iş parçacıklarına sahip olabileceğinizin sinyalini verir.



Bu nedenle, hangi iş parçacıklarının sorunlara neden olduğunu ve yükü nasıl en aza indirebileceğinizi anlamak kullanışlıdır. MySQL ile çalışan işlemleri analiz etmek için farklı seçenekler kullanabilirsiniz. MySQL süreçlerini göstermeye yardımcı olacak iki seçeneği tartışacağız.



Yöntem 1: İşlem Listesini Göster Komutu Yoluyla

MySQL'e komut satırından eriştiğinizde, MySQL sunucunuzda çalışan tüm işlemlerle ilgili bilgileri görüntülemek için SHOW PROCESSLIST komutunu kullanabilirsiniz. Yürütüldüğünde, sunucuya çeşitli bağlantıların anlık görüntüsünü ve bunların durum, zaman vb. bilgilerini verir.





Yürütülecek komut aşağıdadır:

İŞLEM LİSTESİNİ GÖSTER;

Çıktıdaki çeşitli sütunlara dikkat edin. Her birini kısaca tartışalım:



  1. İD – Çalışan işlemin işlem kimliğini görüntüler. Çok sayıda çalışan işlem olması durumunda, her birinin benzersiz kimliği vardır.
  2. kullanıcı – Belirli bir iş parçacığıyla ilişkilendirilmiş kullanıcıyı temsil eder.
  3. Ev sahibi – Belirli bir istemcinin bağlı olduğu ana bilgisayarı gösterir. Bu, bildirimi yayınlayan belirli müşterinin ana bilgisayar adıdır.
  4. veri tabanı – Belirli bir iş parçacığı için bir veritabanı seçilirse, DB sütununun altında görünür. NULL gösteriyorsa, hiçbir veritabanı seçilmemiştir.
  5. Emretmek – İş parçacığı tarafından yürütülmekte olan komutu gösterir.
  6. Zaman – Belirli bir iş parçacığı için bu sütun, iş parçacığının mevcut durumunda ne kadar süredir olduğunu söyler.
  7. Durum – İş parçacığının hangi durumda veya olayda meşgul olduğunu gösterir.
  8. Bilgi – İş parçacığının şu anda hangi ifadeyi yürütmekte olduğunu gösterir.

Bu durumda bir önceki çıktı SHOW PROCESSLIST komutumuzdan aldığımız sonuçtur. Sonuç tablo halinde görüntülenir. Aynı sonuçları dikey bir şekilde görüntülemek istediğinizi varsayalım. Bunun yerine aşağıdaki komutu kullanabilirsiniz:

SÜREÇ LİSTESİNİ GÖSTER\G;

Çalışan hiçbir işlemi kaçırmamak için komuta [FULL] ifadesini isteğe bağlı olarak ekleyin.

Yöntem 2: INFORMATION_SCHEMA.PROCESSLIST Seçeneği aracılığıyla

MySQL, sunucusuna giden tüm aktif bağlantıların bir listesini içeren INFORMATION_SCHEMA.PROCESSLIST tablosuna sahiptir. Bu tabloya erişerek, SHOW PROCESSLIST komutuyla aldığınıza benzer ana bilgisayarlarını, işlem kimliklerini, durumlarını, komutlarını vb. bilmek için tüm bu etkin bağlantıların ayrıntılarını alırsınız.

İşte yürütülecek komut:

INFORMATION_SCHEMA.PROCESSLIST'TEN * SEÇİN;

Komutu yürüttüğünüzde, MySQL çalışan süreçlerin tüm ayrıntılarını gösteren aşağıdakine benzer bir çıktı alırsınız:

MySQL Çalışan İşlemleri Nasıl Öldürürsünüz?

Çalışan işlemlerle ilgili bir sorununuz olduğunu varsayalım. Sunucunuzun yükleme süresini azaltmak ve verimliliği artırmak için herhangi bir boşta olan işlemi sonlandırabilirsiniz. İlk görev, belirli iş parçacığının kimliğini belirlemektir. Herhangi bir iş parçacığının kimliğini bulmak için iki yöntem verdik.

Kimliğe sahip olduğunuzda, 'kill' komutunu aşağıdaki sözdizimiyle çalıştırabilirsiniz:

KILL ;

Komutu yürüttüğünüzde, etkilenen satırı gösteren başarılı bir çıktı alacaksınız ve sorgunun sunucuyla bağlantısı kesilecek. Bir MySQL sürecini bu şekilde öldürürsünüz.

Çözüm

MySQL, çalışan işlemleri göstermek için kullanabileceğiniz iki yol sunar. MySQL SHOW PROCESSLIST'i anlamanıza yardımcı olmak için verilen sözdizimi ve örnek bir komut olmak üzere her iki seçeneği de tartıştık. Yine de, çalışan bir işlemi nasıl sonlandırabileceğinizi gördük. Umarım, MySQL SHOW PROCESSLIST'in nasıl çalıştığını artık anlamışsınızdır.