खैर, यह निश्चित नहीं है, Mysql मैन्युअल<से /ए> :
यह विकल्प डेटा डंप करने से पहले सर्वर को एक START TRANSACTIONSQL स्टेटमेंट भेजता है। यह केवल InnoDB और BDB जैसी लेन-देन वाली तालिकाओं के साथ उपयोगी है, क्योंकि तब यह डेटाबेस की सुसंगत स्थिति को उस समय डंप कर देता है जब BEGIN किसी भी एप्लिकेशन को ब्लॉक किए बिना जारी किया गया था।
इस विकल्प का उपयोग करते समय, आपको यह ध्यान रखना चाहिए कि केवल InnoDB तालिकाओं को एक सुसंगत स्थिति में डंप किया जाता है। उदाहरण के लिए, इस विकल्प का उपयोग करते समय डंप किया गया कोई भी MyISAM या MEMORY टेबल अभी भी स्थिति बदल सकता है।
जबकि एक --single-transaction डंप एक वैध डंपफ़ाइल (सही तालिका सामग्री और बाइनरी लॉग निर्देशांक) सुनिश्चित करने के लिए प्रक्रिया में है, किसी अन्य कनेक्शन को निम्नलिखित कथनों का उपयोग नहीं करना चाहिए:तालिका बदलें, तालिका बनाएं, तालिका ड्रॉप करें, तालिका का नाम बदलें, TRUNCATEABLE। उन कथनों से एक सुसंगत पठन को अलग नहीं किया जाता है, इसलिए उन्हें एक टेबल पर डंप करने के लिए उपयोग किया जा सकता है, जो गलत सामग्री प्राप्त करने के लिए तालिका सामग्री को पुनर्प्राप्त करने के लिए mysqldump द्वारा निष्पादित चयन का कारण बन सकता है या विफल हो सकता है।
--single-transaction विकल्प और --lock-tables विकल्प परस्पर अनन्य हैं क्योंकि LOCK TABLES किसी भी लंबित लेन-देन को निहित रूप से प्रतिबद्ध करने का कारण बनता है।
यह विकल्प MySQLCluster तालिकाओं के लिए समर्थित नहीं है; इस तथ्य के कारण परिणाम सुसंगत होने की गारंटी नहीं दी जा सकती है कि NDBCLUSTER स्टोरेज इंजन केवलREAD_COMMITTED लेनदेन अलगाव स्तर का समर्थन करता है। आपको हमेशा NDBbackup का उपयोग करना चाहिए और इसके बजाय पुनर्स्थापित करना चाहिए।
बड़ी तालिकाओं को डंप करने के लिए, आपको --single-transactionoption को --quick के साथ संयोजित करना चाहिए।
यदि आप अपने लाइव डीबी को बैकअप/स्थानांतरित करना चाहते हैं, तो आपको MySQL प्रतिकृति