InnoDB डेडलॉक लॉगिंग सक्षम करना और देखना
सबसे पहले, innodb_print_all_deadlocks को सक्षम करने की आवश्यकता है:
SET GLOBAL innodb_print_all_deadlocks = 1;
उपरोक्त स्टेटमेंट निष्पादित करने के बाद, सभी डेडलॉक लॉग प्रदर्शित करने के लिए निम्नलिखित सिंटैक्स निष्पादित करें:
SHOW ENGINE INNODB STATUS;
कार्यान्वयन
mysql> SET GLOBAL innodb_print_all_deadlocks = 1; Query OK, 0 rows affected (0.00 sec) mysql> SHOW ENGINE INNODB STATUS;
आउटपुट (संक्षिप्त):
+--------+------+-------------------------------------------------------------------+ | Type | Name | Status | +--------+------+-------------------------------------------------------------------+ | InnoDB | | ===================================== | | | | 2019-05-03 16:44:53 0xf9c INNODB MONITOR OUTPUT ===================================== | | | | Per second averages calculated from the last 26 seconds | | | | ----------------- BACKGROUND THREAD ----------------- | | | | ... (विस्तृत InnoDB मॉनिटर आउटपुट जिसमें डेडलॉक जानकारी शामिल है) ... | | | | ---------------------------- END OF INNODB MONITOR OUTPUT ======= | +--------+------+-------------------------------------------------------------------+ 1 row in set (0.00 sec)
महत्वपूर्ण बिंदु:
innodb_print_all_deadlocks=1सभी डेडलॉक को InnoDB मॉनिटर आउटपुट में प्रिंट करता है।SHOW ENGINE INNODB STATUSवर्तमान InnoDB स्थिति दिखाता है जिसमें हाल के डेडलॉक शामिल होते हैं।- यह सेटिंग ग्लोबल है और MySQL रीस्टार्ट के बाद रीसेट हो जाती है। स्थायी बनाने के लिए कॉन्फ़िगरेशन फ़ाइल में जोड़ें।