2010-10-15 17 views
6

Zaman zaman uygulamamla ilgili bir sorunla karşılaşıyorum; Uygulamam, veritabanına bir işlem başlatmayı denediğimde sorun ilk fark ediyorum.Debuggin uzun süredir çalışan MySQL Kilit yapıları ve oturum açma girişlerini geri alma işlemlerini etkin bir şekilde gerçekleştirin

Sorum, işlemin içinde hangi sorguların yürütüldüğünü, ancak henüz taahhüt edilmediğini, hangi tabloların etkilendiğini, vb. Temel olarak sorunun nedenini takip etmeme yardımcı oluyor.

İkili günlüğüm etkin durumda, ancak belgelere göre, bir işlem yalnızca işlendiğinde ikili günlüğüne yazılır.

innodb geri alma günlüğünün, binloglarla aynı dizinde yer alan bir idbfile yazılması gerekiyordu ve bu, ancak bu amaçla ayrıştırmanın herhangi bir yolunu bulduğumu söyleyemem.

GÖSTER processlist durum UYKU ile benim oturumu

GÖSTER InnoDB DURUMU gösterir:

... 
... 
---TRANSACTION 0 10661864, ACTIVE 4401 sec, process no, 4831, OS thread id 3023358896 
3 lock struct(s), heap size 320, undo log entries 40 
MySQL thread id 2, query id 2419 localhost masteruser 
Trx read view will not see trx with id >= 0 10661865, sees < 0 10661865 
... 
... 

PS I ServerFault aynı soru var ama bu soru ne zaman arasında bir yerde olduğunu tahmin! sınıflandırmaya geliyor, + bu sitenin StackOverflow'dan çok daha düşük bir aktiviteye sahip olduğunu görüyorum, böylece bir cevap alma şansı burada daha yüksek hissediyor, umarım bu iyi olur.

/Kristofer

cevap

4

Aradığınız tüm bilgileri bilgi şemasında bulabilirsiniz. (Senin innodb eklentisi kullanarak yalnızca referans.: http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-plugin-installation.html) üç tablo vardır Bu tablo size neyi işlemin resmi verecektir

INNODB_TRX 
INNODB_LOCKS 
INNODB_LOCK_WAITS 

veritabanı içinde çalışan, işlem içinde sorgular, neyi işlem engelliyor dahil başka hangi işlem, kaynakları kilitliyor.

Referans: http://dev.mysql.com/doc/innodb-plugin/1.0/en/innodb-information-schema-transactions.html

0

Sen genel ve yavaş sorgu günlükleri etkinleştirerek başlamalıdır. 1 saniye içinde tamamlanan yavaş sorguları görmek için microslowpatch uygulamak isteyebilirsiniz.

İlgili konular