मैंने MySQL के बारे में पढ़ा है। मेरी राय में, मैं दो लॉग प्रकार को बहुत समान देखता हूं। MySQL बचाता है कि लॉग में डेटा कब और कैसे बदला जाता है। सूचना का उपयोग MySQL की वसूली के लिए किया जाता है। मैं दो लॉग प्रकारों के फ़ंक्शन को भ्रमित कर रहा हूं।
मैंने MySQL के बारे में पढ़ा है। मेरी राय में, मैं दो लॉग प्रकार को बहुत समान देखता हूं। MySQL बचाता है कि लॉग में डेटा कब और कैसे बदला जाता है। सूचना का उपयोग MySQL की वसूली के लिए किया जाता है। मैं दो लॉग प्रकारों के फ़ंक्शन को भ्रमित कर रहा हूं।
जवाबों:
REDO लॉग ओरेकल शब्दावली है, लेन-देन लॉग InnoDB शब्दावली है। अब चूंकि सभी ओरेकल इंजीनियर हैं, लोग MySQL में एक ही चीज़ को संदर्भित करने के लिए दोनों का उपयोग करते हैं ।
लेन-देन लॉग डिफ़ॉल्ट रूप से होता है, इसे बदला जा सकता है- $ DATADIR में स्थित दो फाइलें ib_logfile0
और ib_logfile1
। यह अन्य डेटाबेस में REDO लॉग के समान कार्य करता है- भंडारण सुरक्षित तरीके से लिखते हैं और दुर्घटना की स्थिति में ठीक हो जाते हैं, हालांकि कार्यान्वयन में कुछ विवरण हैं जो अन्य RDMS की कार्यक्षमता में भिन्न हैं। यह Transoional इंजन होने के लिए InnoDB का मुख्य घटक है।
MySQL में बाइनरी लॉग के साथ लेनदेन लॉग को भ्रमित न करें । बायलॉग, डिफ़ॉल्ट रूप से, $ DATADIR पर है और है *hostname*-bin.index
और कई *hostname*-bin.00001
, आदि। यह अन्य डेटाबेस से आने वाले लोगों के लिए विशेष रूप से भ्रमित है, क्योंकि इसका उपयोग अन्य चीजों के लिए किया जाता है जो अन्य डेटाबेस REDO लॉग के लिए उपयोग करते हैं: प्रतिकृति और समय स्वास्थ्य लाभ। मुख्य अंतर यह है कि लेन-देन लॉग इनोबीडी-केवल है, बाइनरी लॉग (ज्यादातर) लेनदेन-स्वतंत्र है, क्योंकि यह सभी भंडारण इंजनों के लिए है, लेन-देन या नहीं। MyISAM बाइनरी लॉग में (यदि सक्षम है) लिखेगा। InnoDB लेनदेन लॉग और बाइनरी लॉग को लिखेगा।
मैनुअल पर अधिक जानकारी: REDO लॉग , बाइनरी लॉग ।
SQL सर्वर में, TLog फ़ाइलें पूर्ववत और पुन: जानकारी दोनों को संग्रहीत करती हैं। लेकिन MYSQL और Oracle में, TLog / Redo Log केवल पुनः जानकारी संग्रहीत करता है।
MySQL में बाइनरी लॉगिंग समय वसूली में बिंदु के लिए एक तरीका है। बाइनरी लॉगिंग को सक्षम करना SQL सर्वर में पूर्ण पुनर्प्राप्ति मॉडल होने के बराबर है।