GoGPT Best VPN GoSearch

ऑनवर्क्स फ़ेविकॉन

mysqlbinlog - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में mysqlbinlog चलाएं

यह कमांड mysqlbinlog है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


mysqlbinlog - बाइनरी लॉग फ़ाइलों को संसाधित करने के लिए उपयोगिता

SYNOPSIS


mysqlbinlog [विकल्प] बोटा दस्तावेज ...

वर्णन


सर्वर के बाइनरी लॉग में "ईवेंट" वाली फ़ाइलें होती हैं जो संशोधनों का वर्णन करती हैं
डेटाबेस सामग्री के लिए. सर्वर इन फ़ाइलों को बाइनरी प्रारूप में लिखता है। उन्हें प्रदर्शित करने के लिए
पाठ प्रारूप में सामग्री, का उपयोग करें mysqlbinlog उपयोगिता। आप भी उपयोग कर सकते हैं mysqlbinlog सेवा मेरे
प्रतिकृति सेटअप में स्लेव सर्वर द्वारा लिखी गई रिले लॉग फ़ाइलों की सामग्री प्रदर्शित करें
क्योंकि रिले लॉग का प्रारूप बाइनरी लॉग के समान ही होता है। बाइनरी लॉग और रिले लॉग हैं
धारा 5.2.4, "द बाइनरी लॉग", और धारा 17.2.2, "प्रतिकृति" में आगे चर्चा की गई है
रिले और स्थिति लॉग"।

आह्वान mysqlbinlog इस तरह:

खोल> mysqlbinlog [विकल्पों] बोटा दस्तावेज ...

उदाहरण के लिए, binlog.000003 नामक बाइनरी लॉग फ़ाइल की सामग्री प्रदर्शित करने के लिए, इसका उपयोग करें
आदेश:

खोल> mysqlbinlog बिनलॉग.0000003

आउटपुट में binlog.000003 में शामिल इवेंट शामिल हैं। कथन-आधारित लॉगिंग के लिए, इवेंट
जानकारी में SQL कथन, सर्वर की आईडी, जिस पर इसे निष्पादित किया गया था, शामिल है
टाइमस्टैम्प जब कथन निष्पादित किया गया था, इसमें कितना समय लगा, इत्यादि। के लिए
पंक्ति-आधारित लॉगिंग, ईवेंट SQL कथन के बजाय पंक्ति परिवर्तन को इंगित करता है। देखना
लॉगिंग मोड के बारे में जानकारी के लिए धारा 17.1.2, "प्रतिकृति प्रारूप"।

इवेंट के पहले हेडर टिप्पणियाँ होती हैं जो अतिरिक्त जानकारी प्रदान करती हैं। उदाहरण के लिए:

#141 पर
#100309 9:28:36 सर्वर आईडी 123 एंड_लॉग_पॉस 245
क्वेरी थ्रेड_आईडी=3350 निष्पादन_समय=11 त्रुटि_कोड=0

पहली पंक्ति में, निम्नलिखित संख्या फ़ाइल ऑफसेट, या प्रारंभ को इंगित करती है
बाइनरी लॉग फ़ाइल में ईवेंट की स्थिति।

दूसरी पंक्ति दिनांक और समय से शुरू होती है जो दर्शाती है कि कथन कब शुरू हुआ
सर्वर जहां घटना उत्पन्न हुई। प्रतिकृति के लिए, इस टाइमस्टैम्प को दास में प्रचारित किया जाता है
सर्वर. सर्वर आईडी उस सर्वर का सर्वर_आईडी मान है जहां ईवेंट उत्पन्न हुआ था।
End_log_pos इंगित करता है कि अगला ईवेंट कहां से शुरू होता है (अर्थात्, यह की अंतिम स्थिति है
वर्तमान घटना + 1). thread_id इंगित करता है कि किस थ्रेड ने ईवेंट निष्पादित किया है। exec_time है
मास्टर सर्वर पर ईवेंट को निष्पादित करने में बिताया गया समय। गुलाम पर यही फर्क है
दास पर अंतिम निष्पादन समय को घटाकर स्वामी पर आरंभिक निष्पादन समय।
अंतर इस बात का सूचक है कि प्रतिकृति मास्टर से कितनी पीछे है।
error_code ईवेंट को निष्पादित करने के परिणाम को इंगित करता है। शून्य का अर्थ है कोई त्रुटि नहीं
हुआ.

नोट
ईवेंट समूहों का उपयोग करते समय, ईवेंट की फ़ाइल ऑफ़सेट को एक साथ समूहीकृत किया जा सकता है और
घटनाओं की टिप्पणियों को एक साथ समूहीकृत किया जा सकता है। इन समूहीकृत घटनाओं को समझने की भूल न करें
रिक्त फ़ाइल ऑफ़सेट.

से आउटपुट mysqlbinlog पुनः निष्पादित किया जा सकता है (उदाहरण के लिए, इसे इनपुट के रूप में उपयोग करके
MySQL) लॉग में कथनों को फिर से करने के लिए। यह एक के बाद पुनर्प्राप्ति कार्यों के लिए उपयोगी है
सर्वर क्रैश. अन्य उपयोग उदाहरणों के लिए, इस अनुभाग में बाद में चर्चा देखें
धारा 7.5, "बाइनरी लॉग का उपयोग करके पॉइंट-इन-टाइम (वृद्धिशील) पुनर्प्राप्ति"।

आम तौर पर, आप उपयोग करते हैं mysqlbinlog बाइनरी लॉग फ़ाइलों को सीधे पढ़ने और उन्हें लागू करने के लिए
स्थानीय MySQL सर्वर. इसका उपयोग करके दूरस्थ सर्वर से बाइनरी लॉग पढ़ना भी संभव है
la --रिमोट-सर्वर से पढ़ें विकल्प। दूरस्थ बाइनरी लॉग पढ़ने के लिए, कनेक्शन पैरामीटर
सर्वर से कैसे जुड़ें, यह बताने के लिए विकल्प दिए जा सकते हैं। ये विकल्प हैं --मेज़बान,
--पासवर्ड, --बंदरगाह, --मसविदा बनाना, --सॉकेट, तथा --उपयोगकर्ता; जब आप को छोड़कर उन्हें नजरअंदाज कर दिया जाता है
भी उपयोग करें --रिमोट-सर्वर से पढ़ें विकल्प.

mysqlbinlog निम्नलिखित विकल्पों का समर्थन करता है, जिन्हें कमांड लाइन पर निर्दिष्ट किया जा सकता है या
एक विकल्प फ़ाइल के [mysqlbinlog] और [क्लाइंट] समूहों में। विकल्प के बारे में जानकारी के लिए
MySQL प्रोग्राम द्वारा उपयोग की जाने वाली फ़ाइलें, खंड 4.2.6, “विकल्प फ़ाइलों का उपयोग करना” देखें।

· --मदद, -?

एक सहायता संदेश प्रदर्शित करें और बाहर निकलें।

· --बेस64-आउटपुट=मूल्य

यह विकल्प निर्धारित करता है कि घटनाओं को बेस-64 स्ट्रिंग्स के रूप में एन्कोड करके कब प्रदर्शित किया जाना चाहिए
BINLOG कथनों का उपयोग करना। विकल्प में ये अनुमेय मान हैं (केस संवेदी नहीं):

· ऑटो ("स्वचालित") या यूएनएसपीईसी ("अनिर्दिष्ट") बिनलॉग विवरण प्रदर्शित करता है
आवश्यक होने पर स्वचालित रूप से (अर्थात, प्रारूप विवरण घटनाओं और पंक्ति के लिए)।
आयोजन)। अगर कोई नहीं --बेस64-आउटपुट विकल्प दिया गया है, प्रभाव वैसा ही है
--बेस64-आउटपुट=ऑटो.

नोट
यदि आप इसका उपयोग करने का इरादा रखते हैं तो स्वचालित BINLOG डिस्प्ले ही एकमात्र सुरक्षित व्यवहार है
का उत्पादन mysqlbinlog बाइनरी लॉग फ़ाइल सामग्री को पुन: निष्पादित करने के लिए। दूसरा विकल्प
मान केवल डिबगिंग या परीक्षण उद्देश्यों के लिए हैं क्योंकि ऐसा हो सकता है
ऐसा आउटपुट उत्पन्न करें जिसमें निष्पादन योग्य रूप में सभी ईवेंट शामिल न हों।

· कभी भी BINLOG स्टेटमेंट को प्रदर्शित न होने दें। mysqlbinlog एक के साथ बाहर निकलता है
यदि कोई पंक्ति ईवेंट पाया जाता है तो त्रुटि, जिसे BINLOG का उपयोग करके प्रदर्शित किया जाना चाहिए।

· DECODE-ROWS निर्दिष्ट करता है mysqlbinlog कि आप पंक्ति घटनाओं को डिकोड करना चाहते हैं
और निर्दिष्ट करके टिप्पणी किए गए SQL कथनों के रूप में प्रदर्शित किया जाता है --शब्दशः विकल्प.
कभी नहीं की तरह, DECODE-ROWS BINLOG कथनों के प्रदर्शन को दबा देता है, लेकिन कभी के विपरीत,
यदि कोई पंक्ति ईवेंट पाया जाता है तो यह त्रुटि के साथ बाहर नहीं निकलता है।

उदाहरण के लिए जो इसका प्रभाव दिखाते हैं --बेस64-आउटपुट और --शब्दशः पंक्ति घटना पर
आउटपुट, "MYSQLBINLOG ROW इवेंट डिस्प्ले" नामक अनुभाग देखें।

· --बाइंड-पता=आईपी ​​पता

एकाधिक नेटवर्क इंटरफ़ेस वाले कंप्यूटर पर, किसे चुनने के लिए इस विकल्प का उपयोग करें
MySQL सर्वर से कनेक्ट करने के लिए उपयोग किया जाने वाला इंटरफ़ेस।

यह विकल्प MySQL 5.6.1 से शुरू होकर समर्थित है।

· --बिनलॉग-पंक्ति-घटना-अधिकतम-आकार=N

मैं मैं
कमांड लाइन प्रारूप │ --binlog-row-event-max-size=# │
मैं मैं
मैं अनुमति है मान
│ ├───────────────────┬────────────── ────┤
मैं मंच बिट आकार │ 64 │
│ ├───────────────────┼────────────── ────┤
मैं प्रकार │ संख्यात्मक │
│ ├───────────────────┼────────────── ────┤
मैं चूक │ 4294967040 │
│ ├───────────────────┼────────────── ────┤
मैं मिन वैल्यू │ 256 │
│ ├───────────────────┼────────────── ────┤
मैं मैक्स वैल्यू │ 18446744073709547520 │
└────────────────────┴───────────── ─┴──────── ──────────────┘
पंक्ति-आधारित बाइनरी लॉग ईवेंट का अधिकतम आकार बाइट्स में निर्दिष्ट करें। पंक्तियों को समूहीकृत किया गया है
यदि संभव हो तो इस आकार से छोटी घटनाओं में। मान 256 का गुणज होना चाहिए.
डिफ़ॉल्ट 4GB है.

· --चरित्र-सेट-दिर=पथ

वह निर्देशिका जहाँ वर्ण सेट स्थापित हैं। अनुभाग 10.5, “चरित्र सेट” देखें
विन्यास"।

· --कनेक्शन-सर्वर-आईडी=सर्वर_आईडी

इस विकल्प का उपयोग BINLOG_DUMP_NON_BLOCK के समर्थन के लिए MySQL सर्वर का परीक्षण करने के लिए किया जाता है
कनेक्शन फ़्लैग, जिसे अनजाने में MySQL 5.6.5 में हटा दिया गया था, और MySQL में पुनर्स्थापित किया गया था
5.6.20 (बग #18000079, बग #71178)। सामान्य ऑपरेशन के लिए इसकी आवश्यकता नहीं है.

इस विकल्प के लिए प्रभावी डिफ़ॉल्ट और न्यूनतम मान इस पर निर्भर करते हैं mysqlbinlog
ब्लॉकिंग मोड या नॉन-ब्लॉकिंग मोड में चलाया जाता है। कब mysqlbinlog ब्लॉकिंग में चलाया जाता है
मोड, डिफ़ॉल्ट (और न्यूनतम) मान 1 है; जब नॉन-ब्लॉकिंग मोड में चलाया जाता है, तो डिफ़ॉल्ट
(और न्यूनतम) मान 0 है.

यह विकल्प MySQL 5.6.20 में जोड़ा गया था।

· --डेटाबेस=db_नाम, -d db_नाम

इस विकल्प का कारण बनता है mysqlbinlog बाइनरी लॉग से प्रविष्टियों को आउटपुट करने के लिए (केवल स्थानीय लॉग)
उस समय घटित होता है db_नाम USE द्वारा डिफ़ॉल्ट डेटाबेस के रूप में चुना गया है।

RSI --डेटाबेस के लिए विकल्प mysqlbinlog के समान है --binlog-do-db के लिए विकल्प
mysqld, लेकिन इसका उपयोग केवल एक डेटाबेस निर्दिष्ट करने के लिए किया जा सकता है। अगर --डेटाबेस एकाधिक दिया गया है
कई बार, केवल अंतिम उदाहरण का उपयोग किया जाता है।

इस विकल्प का प्रभाव इस बात पर निर्भर करता है कि लॉगिंग स्टेटमेंट-आधारित है या पंक्ति-आधारित
प्रारूप उपयोग में है, उसी प्रकार के प्रभाव भी --binlog-do-db चाहे पर निर्भर हो
कथन-आधारित या पंक्ति-आधारित लॉगिंग उपयोग में है।

कथन आधारित लॉगिंग--डेटाबेस विकल्प इस प्रकार काम करता है:

· जबकि db_नाम डिफ़ॉल्ट डेटाबेस है, चाहे वे संशोधित हों, कथन आउटपुट होते हैं
टेबल में db_नाम या कोई भिन्न डेटाबेस.

· जब तक db_नाम डिफ़ॉल्ट डेटाबेस के रूप में चुना गया है, कथन आउटपुट नहीं हैं,
भले ही वे तालिकाओं को संशोधित करें db_नाम.

· डेटाबेस बनाएं, डेटाबेस बदलें और डेटाबेस ड्रॉप करें के लिए एक अपवाद है।
डेटाबेस किया जा रहा है बनाया था, बदला हुआ, or गिरा डिफ़ॉल्ट माना जाता है
डेटाबेस यह निर्धारित करते समय कि कथन को आउटपुट करना है या नहीं।

मान लीजिए कि इन कथनों का उपयोग करके बाइनरी लॉग बनाया गया था
कथन-आधारित-लॉगिंग:

test.t1 में डालें (i) मान; (100)
db2.t2 में डालें (जे) मान; (200)
उपयोग परीक्षण;
test.t1 में डालें (i) मान; (101)
t1 (i) में डालें मान; (102)
db2.t2 में डालें (जे) मान; (201)
उपयोग db2;
test.t1 में डालें (i) मान; (103)
db2.t2 में डालें (जे) मान; (202)
t2 (j) में डालें मान; (203)

mysqlbinlog --डेटाबेस=परीक्षण पहले दो INSERT कथनों को आउटपुट नहीं करता क्योंकि
कोई डिफ़ॉल्ट डेटाबेस नहीं है. यह USE के बाद तीन INSERT स्टेटमेंट आउटपुट करता है
परीक्षण करें, लेकिन USE db2 के बाद तीन INSERT कथन नहीं।

mysqlbinlog --डेटाबेस=db2 पहले दो INSERT कथनों को आउटपुट नहीं करता क्योंकि
कोई डिफ़ॉल्ट डेटाबेस नहीं है. यह निम्नलिखित तीन INSERT कथनों को आउटपुट नहीं करता है
USE परीक्षण, लेकिन USE db2 के बाद तीन INSERT कथनों को आउटपुट करता है।

पंक्ति के आधार पर लॉगिंग. mysqlbinlog केवल उन प्रविष्टियों को आउटपुट करता है जो संबंधित तालिकाओं को बदलती हैं
db_नाम. डिफ़ॉल्ट डेटाबेस का इस पर कोई प्रभाव नहीं पड़ता है. मान लीजिए कि बाइनरी लॉग बस है
विवरण कथन-आधारित लॉगिंग के बजाय पंक्ति-आधारित लॉगिंग का उपयोग करके बनाया गया था।
mysqlbinlog --डेटाबेस=परीक्षण केवल उन्हीं प्रविष्टियों को आउटपुट करता है जो परीक्षण में t1 को संशोधित करती हैं
डेटाबेस, भले ही USE जारी किया गया हो या डिफ़ॉल्ट डेटाबेस क्या है। यदि एक
सर्वर बिनलॉग_फॉर्मेट को MIXED पर सेट करके चल रहा है और आप चाहते हैं कि यह संभव हो
उपयोग mysqlbinlog साथ --डेटाबेस विकल्प, आपको यह सुनिश्चित करना होगा कि तालिकाएँ हैं
संशोधित USE द्वारा चयनित डेटाबेस में हैं। (विशेष रूप से, कोई क्रॉस-डेटाबेस नहीं
अपडेट का उपयोग किया जाना चाहिए।)

MySQL 5.6.10 से पहले, --डेटाबेस लॉग लिखे जाने पर विकल्प ठीक से काम नहीं करता
GTID-सक्षम MySQL सर्वर द्वारा। (बग #15912728)

· --डीबग[=डिबग_विकल्प], -# [डिबग_विकल्प]

डिबगिंग लॉग लिखें। एक ठेठ डिबग_विकल्प स्ट्रिंग d:t:o है,फ़ाइल का नाम। डिफ़ॉल्ट
d:t:o,/tmp/mysqlbinlog.trace है।

· --डीबग-चेक

प्रोग्राम से बाहर निकलने पर कुछ डिबगिंग जानकारी प्रिंट करें।

· --दोषमार्जन सूचना

प्रोग्राम के दौरान डिबगिंग जानकारी और मेमोरी और सीपीयू उपयोग के आंकड़े प्रिंट करें
बाहर निकलता है।

· --डिफ़ॉल्ट-प्रमाणीकरण=लगाना

उपयोग करने के लिए क्लाइंट-साइड प्रमाणीकरण प्लगइन। अनुभाग 6.3.7, “प्लग करने योग्य” देखें
प्रमाणीकरण”

यह विकल्प MySQL 5.6.2 में जोड़ा गया था।

· --डिफ़ॉल्ट-अतिरिक्त-फ़ाइल=फ़ाइल का नाम

इस विकल्प फ़ाइल को वैश्विक विकल्प फ़ाइल के बाद पढ़ें लेकिन (यूनिक्स पर) उपयोगकर्ता से पहले पढ़ें
विकल्प दस्तावेज। यदि फ़ाइल मौजूद नहीं है या अन्यथा पहुंच योग्य नहीं है, तो एक त्रुटि उत्पन्न होती है।
फ़ाइल का नाम यदि सापेक्ष पथ के रूप में दिया गया है तो वर्तमान निर्देशिका के सापेक्ष व्याख्या की जाती है
पूर्ण पथ नाम के बजाय नाम।

· --डिफ़ॉल्ट-फ़ाइल=फ़ाइल का नाम

केवल दी गई विकल्प फ़ाइल का उपयोग करें. यदि फ़ाइल मौजूद नहीं है या अन्यथा है
पहुंच योग्य नहीं, एक त्रुटि उत्पन्न होती है. फ़ाइल का नाम धारा के सापेक्ष व्याख्या की जाती है
निर्देशिका यदि पूर्ण पथ नाम के बजाय सापेक्ष पथ नाम के रूप में दी गई है।

· --डिफ़ॉल्ट-समूह-प्रत्यय=str

न केवल सामान्य विकल्प समूह पढ़ें, बल्कि सामान्य नाम और ए वाले समूह भी पढ़ें
का प्रत्यय str। उदाहरण के लिए, mysqlbinlog आम तौर पर [क्लाइंट] और [mysqlbinlog] पढ़ता है
समूह. यदि --डिफ़ॉल्ट-समूह-प्रत्यय=_अन्य विकल्प दिया है, mysqlbinlog भी पढ़ता है
[क्लाइंट_अन्य] और [mysqlbinlog_other] समूह।

· --अक्षम-लॉग-बिन, -D

बाइनरी लॉगिंग अक्षम करें. यदि आप इसका उपयोग करते हैं तो यह अंतहीन लूप से बचने के लिए उपयोगी है
--टू-लास्ट-लॉग विकल्प और आउटपुट को उसी MySQL सर्वर पर भेज रहे हैं। इस विकल्प
किसी दुर्घटना के बाद पुनर्स्थापित करते समय आपके कथनों के दोहराव से बचने के लिए यह भी उपयोगी है
लॉग इन कर लिया है.

इस विकल्प के लिए आवश्यक है कि आपके पास सुपर विशेषाधिकार हो। यह कारण बनता है mysqlbinlog सेवा मेरे
बाइनरी लॉगिंग को अक्षम करने के लिए इसके आउटपुट में एक SET sql_log_bin = 0 स्टेटमेंट शामिल करें
शेष आउटपुट. SET कथन तब तक अप्रभावी है जब तक आपके पास SUPER न हो
विशेषाधिकार।

· --बहिष्कृत-gtids=gtid_set

में सूचीबद्ध किसी भी समूह को प्रदर्शित न करें gtid_set. MySQL 5.6.5 में जोड़ा गया।

· --जबरदस्ती-अगर-खुला, -F

बाइनरी लॉग फ़ाइलें पढ़ें, भले ही वे खुली हों या ठीक से बंद न हों।

· --बलपूर्वक पढ़ें, -f

इस विकल्प के साथ, यदि mysqlbinlog एक बाइनरी लॉग ईवेंट पढ़ता है जिसे वह पहचान नहीं पाता है,
यह एक चेतावनी प्रिंट करता है, घटना को अनदेखा करता है और जारी रखता है। इस विकल्प के बिना,
mysqlbinlog अगर वह ऐसी कोई घटना पढ़ता है तो रुक जाता है।

· --हेक्सडंप, -H

टिप्पणियों में लॉग का हेक्स डंप प्रदर्शित करें, जैसा कि अनुभाग में वर्णित है
"MYSQLBINLOG हेक्स डंप प्रारूप"। हेक्स आउटपुट प्रतिकृति के लिए सहायक हो सकता है
डिबगिंग।

· --होस्ट=होस्ट_नाम, -h होस्ट_नाम

दिए गए होस्ट पर MySQL सर्वर से बाइनरी लॉग प्राप्त करें।

· --शामिल-gtids=gtid_set

केवल सूचीबद्ध समूहों को प्रदर्शित करें gtid_set. MySQL 5.6.5 में जोड़ा गया।

· --स्थानीय-भार=पथ, -l पथ

निर्दिष्ट निर्देशिका में लोड डेटा इनफ़ाइल के लिए स्थानीय अस्थायी फ़ाइलें तैयार करें।

महत्त्वपूर्ण
ये अस्थायी फ़ाइलें स्वचालित रूप से नहीं हटाई जाती हैं mysqlbinlog या किसी भी अन्य
MySQL प्रोग्राम.

· --लॉगिन-पथ=नाम

.mylogin.cnf लॉगिन फ़ाइल में नामित लॉगिन पथ से विकल्प पढ़ें। एक "लॉगिन पथ"
एक विकल्प समूह है जो केवल सीमित विकल्पों की अनुमति देता है: मेजबान, उपयोगकर्ता, तथा
पासवर्ड. लॉगिन पथ को मानों के एक सेट के रूप में सोचें जो सर्वर होस्ट को इंगित करता है
सर्वर के साथ प्रमाणीकरण के लिए क्रेडेंशियल। लॉगिन पथ फ़ाइल बनाने के लिए, उपयोग करें
la mysql_config_editor उपयोगिता। देखो mysql_config_editor(1). यह विकल्प जोड़ा गया
MySQL 5.6.6।

· --नो-डिफॉल्ट्स

कोई भी विकल्प फ़ाइल न पढ़ें. यदि अज्ञात विकल्पों को पढ़ने के कारण प्रोग्राम स्टार्टअप विफल हो जाता है
एक विकल्प फ़ाइल से, --नो-डिफॉल्ट्स उन्हें पढ़ने से रोकने के लिए इस्तेमाल किया जा सकता है।

अपवाद यह है कि .mylogin.cnf फ़ाइल, यदि मौजूद है, तो सभी मामलों में पढ़ी जाती है। यह
पासवर्ड को कमांड लाइन की तुलना में अधिक सुरक्षित तरीके से निर्दिष्ट करने की अनुमति देता है, तब भी
--नो-डिफॉल्ट्स प्रयोग किया जाता है। (.mylogin.cnf द्वारा बनाया गया है mysql_config_editor उपयोगिता।
देख mysql_config_editor(1)।)

· --ऑफ़सेट=N, -o N

पहले छोड़ें N लॉग में प्रविष्टियाँ.

· --पासवर्ड[=पासवर्ड], -पी[पासवर्ड]

सर्वर से कनेक्ट करते समय उपयोग किया जाने वाला पासवर्ड। यदि आप लघु विकल्प प्रपत्र का उपयोग करते हैं
(-p), आप नही सकता विकल्प और पासवर्ड के बीच एक स्थान रखें। यदि आप इसे छोड़ देते हैं
पासवर्ड के बाद मूल्य --पासवर्ड or -p कमांड लाइन पर विकल्प, mysqlbinlog
एक के लिए कहता है।

कमांड लाइन पर पासवर्ड निर्दिष्ट करना असुरक्षित माना जाना चाहिए। देखो
खंड 6.1.2.1, "पासवर्ड सुरक्षा के लिए अंतिम उपयोगकर्ता दिशानिर्देश"। आप एक विकल्प का उपयोग कर सकते हैं
फ़ाइल कमांड लाइन पर पासवर्ड देने से बचने के लिए।

· --प्लगइन-डीआईआर=पथ

वह निर्देशिका जिसमें प्लगइन्स देखना है। इस विकल्प को निर्दिष्ट करना आवश्यक हो सकता है
अगर --डिफ़ॉल्ट-auth विकल्प का उपयोग प्रमाणीकरण प्लगइन को निर्दिष्ट करने के लिए किया जाता है
mysqlbinlog यह नहीं मिलता. अनुभाग 6.3.7, "प्लगयोग्य प्रमाणीकरण" देखें।

यह विकल्प MySQL 5.6.2 में जोड़ा गया था।

· --पोर्ट=पोर्ट_नंबर, -P पोर्ट_नंबर

किसी दूरस्थ सर्वर से कनेक्ट करने के लिए उपयोग किया जाने वाला टीसीपी/आईपी पोर्ट नंबर।

· --प्रिंट-डिफॉल्ट्स

प्रोग्राम का नाम और विकल्प फ़ाइलों से प्राप्त होने वाले सभी विकल्प प्रिंट करें।

· --प्रोटोकॉल={टीसीपी|सॉकेट|पाइप|मेमोरी}

सर्वर से कनेक्ट करने के लिए उपयोग किया जाने वाला कनेक्शन प्रोटोकॉल। यह तब उपयोगी होता है जब
अन्य कनेक्शन पैरामीटर सामान्य रूप से प्रोटोकॉल के अलावा अन्य का उपयोग करने का कारण बनेंगे
एक जो आप चाहते हैं. अनुमेय मूल्यों के विवरण के लिए, अनुभाग 4.2.2, “कनेक्ट करना” देखें
MySQL सर्वर"।

· --कच्चा

डिफ़ॉल्ट रूप से, mysqlbinlog बाइनरी लॉग फ़ाइलें पढ़ता है और टेक्स्ट प्रारूप में ईवेंट लिखता है।
--कच्चा विकल्प बताता है mysqlbinlog उन्हें उनके मूल बाइनरी प्रारूप में लिखने के लिए। इसके प्रयोग
की आवश्यकता है --रिमोट-सर्वर से पढ़ें फ़ाइलों का अनुरोध होने के कारण भी इसका उपयोग किया जा सकता है
एक सर्वर से. mysqlbinlog सर्वर से पढ़ी गई प्रत्येक फ़ाइल के लिए एक आउटपुट फ़ाइल लिखता है।
RSI --कच्चा विकल्प का उपयोग सर्वर के बाइनरी लॉग का बैकअप बनाने के लिए किया जा सकता है। साथ
--रुको-कभी नहीं विकल्प, बैकअप "लाइव" है क्योंकि mysqlbinlog से जुड़ा रहता है
सर्वर. डिफ़ॉल्ट रूप से, आउटपुट फ़ाइलें वर्तमान निर्देशिका में उसी के साथ लिखी जाती हैं
मूल लॉग फ़ाइलों के रूप में नाम। आउटपुट फ़ाइल नाम का उपयोग करके संशोधित किया जा सकता है
--परिणाम-फ़ाइल विकल्प। अधिक जानकारी के लिए, "MYSQLBINLOG का उपयोग करना" नामक अनुभाग देखें
बाइनरी लॉग फ़ाइलों का बैकअप लेने के लिए"।

यह विकल्प MySQL 5.6.0 में जोड़ा गया था।

· --रीड-फ्रॉम-रिमोट-मास्टर=टाइप

COM_BINLOG_DUMP या COM_BINLOG_DUMP_GTID के साथ MySQL सर्वर से बाइनरी लॉग पढ़ें
विकल्प मान को या तो BINLOG-DUMP-NON-GTIDS या पर सेट करके आदेश दें
बिनलॉग-डंप-जीटीआईडीएस, क्रमशः। अगर --read-from-remote-master=BINLOG-DUMP-GTIDS is
के साथ संयुक्त --बहिष्कृत-gtids, लेनदेन को मास्टर पर फ़िल्टर किया जा सकता है,
अनावश्यक नेटवर्क ट्रैफ़िक से बचना।

इसका विवरण भी देखें --रिमोट-सर्वर से पढ़ें.

यह विकल्प MySQL 5.6.5 में जोड़ा गया था।

· --रिमोट-सर्वर से पढ़ें, -R

स्थानीय लॉग फ़ाइल को पढ़ने के बजाय MySQL सर्वर से बाइनरी लॉग पढ़ें। कोई
कनेक्शन पैरामीटर विकल्पों को तब तक नजरअंदाज कर दिया जाता है जब तक कि यह विकल्प भी न दिया गया हो। इन
विकल्प हैं --मेज़बान, --पासवर्ड, --बंदरगाह, --मसविदा बनाना, --सॉकेट, तथा --उपयोगकर्ता.

इस विकल्प के लिए आवश्यक है कि रिमोट सर्वर चालू रहे। यह केवल बाइनरी लॉग के लिए काम करता है
दूरस्थ सर्वर पर फ़ाइलें, रिले लॉग फ़ाइलें नहीं।

यह विकल्प MySQL 5.6.5 जैसा है
--रीड-फ्रॉम-रिमोट-मास्टर = बिनलॉग-डंप-नॉन-जीटीआईडीएस.

· --परिणाम-फ़ाइल=नाम, -r नाम

के बिना --कच्चा विकल्प, यह विकल्प किस फ़ाइल को इंगित करता है mysqlbinlog लिखते हैं
पाठ आउटपुट. साथ --कच्चा, mysqlbinlog प्रत्येक लॉग फ़ाइल के लिए एक बाइनरी आउटपुट फ़ाइल लिखता है
सर्वर से स्थानांतरित किया गया, उन्हें वर्तमान निर्देशिका में डिफ़ॉल्ट रूप से लिखकर उपयोग किया गया
मूल लॉग फ़ाइल के समान नाम। इस मामले में, --परिणाम-फ़ाइल विकल्प मान
इसे एक उपसर्ग के रूप में माना जाता है जो आउटपुट फ़ाइल नामों को संशोधित करता है।

· --सुरक्षित-प्राधिकरण

सर्वर पर पुराने (पूर्व-4.1) प्रारूप में पासवर्ड न भेजें। यह कनेक्शन रोकता है
उन सर्वरों को छोड़कर जो नए पासवर्ड प्रारूप का उपयोग करते हैं। यह विकल्प इसके द्वारा सक्षम किया गया है
चूक जाना; उपयोग --स्किप-सिक्योर-ऑथ इसे निष्क्रिय करने के लिए. यह विकल्प MySQL 5.6.17 में जोड़ा गया था।

नोट
जो पासवर्ड प्री-4.1 हैशिंग पद्धति का उपयोग करते हैं वे उन पासवर्डों की तुलना में कम सुरक्षित होते हैं
मूल पासवर्ड हैशिंग विधि का उपयोग करें और इससे बचना चाहिए। प्री-4.1 पासवर्ड
पदावनत कर दिया गया है और भविष्य में MySQL रिलीज़ में उनके लिए समर्थन हटा दिया जाएगा। के लिए
खाता अपग्रेड निर्देश, अनुभाग 6.3.8.3, “प्री-4.1 से दूर पलायन” देखें
पासवर्ड हैशिंग और mysql_old_password प्लगइन"।

· --सर्वर-आईडी=id

दिए गए सर्वर आईडी वाले सर्वर द्वारा बनाए गए केवल उन्हीं ईवेंट को प्रदर्शित करें।

· --सर्वर-आईडी-बिट्स=N

केवल पहले का प्रयोग करें N सर्वर की पहचान करने के लिए सर्वर_आईडी के बिट्स। यदि बाइनरी लॉग
ए द्वारा लिखा गया था mysqld सर्वर-आईडी-बिट्स को 32 से कम पर सेट किया गया है और उपयोगकर्ता डेटा संग्रहीत किया गया है
सबसे महत्वपूर्ण भाग में, दौड़ना mysqlbinlog साथ में --सर्वर-आईडी-बिट्स 32 पर सेट
इस डेटा को देखने में सक्षम बनाता है।

यह विकल्प केवल के संस्करणों द्वारा समर्थित है mysqlbinlog MySQL के साथ आपूर्ति की गई
क्लस्टर वितरण, या MySQL क्लस्टर स्रोतों से निर्मित।

· --सेट-वर्णसेट=वर्णसेट_नाम

एक सेट नाम जोड़ें वर्णसेट_नाम आउटपुट के लिए सेट किए गए वर्ण को निर्दिष्ट करने के लिए कथन
लॉग फ़ाइलों को संसाधित करने के लिए उपयोग किया जाएगा।

· --साझा-स्मृति-आधार-नाम=नाम

विंडोज़ पर, साझा मेमोरी का उपयोग करके बनाए गए कनेक्शन के लिए साझा-मेमोरी नाम का उपयोग करें
एक स्थानीय सर्वर. डिफ़ॉल्ट मान MYSQL है. साझा-मेमोरी नाम केस संवेदी है.

सर्वर को इसके साथ प्रारंभ किया जाना चाहिए --शारेड मेमोरी साझा-मेमोरी सक्षम करने का विकल्प
कनेक्शन.

· --संक्षिप्त रूप, -s

बिना किसी अतिरिक्त जानकारी के केवल लॉग में मौजूद विवरण प्रदर्शित करें
पंक्ति-आधारित घटनाएँ। यह केवल परीक्षण के लिए है, और इसका उपयोग उत्पादन में नहीं किया जाना चाहिए
सिस्टम.

· --छोड़ें-gtids[=(सही|गलत)]

आउटपुट में कोई जीटीआईडी ​​प्रदर्शित न करें। डंप फ़ाइल पर लिखते समय इसकी आवश्यकता होती है
जीटीआईडी ​​वाले एक या अधिक बाइनरी लॉग से, जैसा कि इस उदाहरण में दिखाया गया है:

खोल> mysqlbinlog --छोड़ें-gtids बिनलॉग.000001 > /tmp/dump.sql
खोल> mysqlbinlog --छोड़ें-gtids बिनलॉग.000002 >> /tmp/dump.sql
खोल> MySQL -u जड़ -p -e "स्रोत /tmp/dump.sql"

अन्यथा सामान्यतः उत्पादन में इस विकल्प के उपयोग की अनुशंसा नहीं की जाती है।

यह विकल्प MySQL 5.6.5 में जोड़ा गया था।

· --सॉकेट=पथ, -S पथ

लोकलहोस्ट से कनेक्शन के लिए, उपयोग करने के लिए यूनिक्स सॉकेट फ़ाइल, या, विंडोज़ पर, का नाम
उपयोग करने के लिए नामित पाइप।

· --प्रारंभ-दिनांकसमय=दिनांक और समय

बाइनरी लॉग को पहले इवेंट में उसके बराबर या बाद वाले टाइमस्टैम्प पर पढ़ना शुरू करें
से दिनांक और समय बहस। दिनांक और समय मान स्थानीय समय क्षेत्र के सापेक्ष है
वह मशीन जहाँ आप चलते हैं mysqlbinlog. मान स्वीकृत प्रारूप में होना चाहिए
DATETIME या TIMESTAMP डेटा प्रकार। उदाहरण के लिए:

खोल> mysqlbinlog --प्रारंभ-दिनांकसमय='2005-12-25 11:25:56" बिनलॉग.000003

यह विकल्प पॉइंट-इन-टाइम पुनर्प्राप्ति के लिए उपयोगी है। अनुभाग 7.3 देखें, “उदाहरण बैकअप और
पुनर्प्राप्ति रणनीति ”।

· --प्रारंभ-स्थिति=N, -j N

पहले इवेंट में बाइनरी लॉग को पढ़ना शुरू करें जिसमें स्थिति बराबर या उससे अधिक हो
से N. यह विकल्प कमांड लाइन पर नामित पहली लॉग फ़ाइल पर लागू होता है।

यह विकल्प पॉइंट-इन-टाइम पुनर्प्राप्ति के लिए उपयोगी है। अनुभाग 7.3 देखें, “उदाहरण बैकअप और
पुनर्प्राप्ति रणनीति ”।

· --स्टॉप-डेटाटाइम=दिनांक और समय

बराबर या बाद वाले टाइमस्टैम्प वाले पहले इवेंट में बाइनरी लॉग को पढ़ना बंद करें
से दिनांक और समय तर्क। यह विकल्प पॉइंट-इन-टाइम पुनर्प्राप्ति के लिए उपयोगी है। देखें
का विवरण --प्रारंभ-दिनांकसमय के बारे में जानकारी के लिए विकल्प दिनांक और समय मूल्य.

यह विकल्प पॉइंट-इन-टाइम पुनर्प्राप्ति के लिए उपयोगी है। अनुभाग 7.3 देखें, “उदाहरण बैकअप और
पुनर्प्राप्ति रणनीति ”।

· --रुको-कभी नहीं

इस विकल्प के साथ प्रयोग किया जाता है --रिमोट-सर्वर से पढ़ें. यह बताता है mysqlbinlog बने रहना
सर्वर से जुड़ा है. अन्यथा mysqlbinlog अंतिम लॉग फ़ाइल होने पर बाहर निकल जाता है
सर्वर से स्थानांतरित किया गया. --रुको-कभी नहीं का तात्पर्य --टू-लास्ट-लॉग, तो केवल पहला
स्थानांतरित करने के लिए लॉग फ़ाइल को कमांड लाइन पर नामित किया जाना चाहिए।

--रुको-कभी नहीं आमतौर पर इसके साथ प्रयोग किया जाता है --कच्चा लाइव बाइनरी लॉग बैकअप बनाने के लिए भी
के बिना इस्तेमाल किया जा सकता है --कच्चा लॉग इवेंट के निरंतर पाठ प्रदर्शन को बनाए रखने के लिए
सर्वर उन्हें उत्पन्न करता है.

यह विकल्प MySQL 5.6.0 में जोड़ा गया था।

· --स्टॉप-नेवर-स्लेव-सर्वर-आईडी=id

- --रुको-कभी नहीं, mysqlbinlog से कनेक्ट होने पर सर्वर आईडी 65535 की रिपोर्ट करता है
सर्वर. --स्टॉप-नेवर-स्लेव-सर्वर-आईडी रिपोर्ट करने के लिए सर्वर आईडी को स्पष्ट रूप से निर्दिष्ट करता है। यह
किसी स्लेव सर्वर या किसी अन्य की आईडी के साथ टकराव से बचने के लिए इसका उपयोग किया जा सकता है mysqlbinlog
प्रक्रिया। "MySQLBINLOG सर्वर आईडी निर्दिष्ट करना" नामक अनुभाग देखें।

यह विकल्प MySQL 5.6.0 में जोड़ा गया था।

· --स्टॉप-पोजीशन=N

बराबर या उससे अधिक स्थिति वाली पहली घटना पर बाइनरी लॉग पढ़ना बंद करें
से N. यह विकल्प कमांड लाइन पर नामित अंतिम लॉग फ़ाइल पर लागू होता है।

यह विकल्प पॉइंट-इन-टाइम पुनर्प्राप्ति के लिए उपयोगी है। अनुभाग 7.3 देखें, “उदाहरण बैकअप और
पुनर्प्राप्ति रणनीति ”।

· --टू-लास्ट-लॉग, -t

MySQL सर्वर से अनुरोधित बाइनरी लॉग के अंत में न रुकें, बल्कि रुकें
अंतिम बाइनरी लॉग के अंत तक मुद्रण जारी रखें। यदि आप आउटपुट भेजते हैं
वही MySQL सर्वर, इससे अंतहीन लूप हो सकता है। इस विकल्प की आवश्यकता है
--रिमोट-सर्वर से पढ़ें.

· --उपयोगकर्ता=USER_NAME, -u USER_NAME

रिमोट सर्वर से कनेक्ट करते समय उपयोग किया जाने वाला MySQL उपयोगकर्ता नाम।

· --शब्दशः, -v

पंक्ति घटनाओं का पुनर्निर्माण करें और उन्हें टिप्पणी किए गए SQL कथनों के रूप में प्रदर्शित करें। यदि यह विकल्प है
दो बार दिए जाने पर, आउटपुट में कॉलम डेटा प्रकार और कुछ को इंगित करने के लिए टिप्पणियाँ शामिल होती हैं
मेटाडाटा।

उदाहरण के लिए जो इसका प्रभाव दिखाते हैं --बेस64-आउटपुट और --शब्दशः पंक्ति घटना पर
आउटपुट, "MYSQLBINLOG ROW इवेंट डिस्प्ले" नामक अनुभाग देखें।

· --verify-binlog-checkum, -c

बाइनरी लॉग फ़ाइलों में चेकसम सत्यापित करें। यह विकल्प MySQL 5.6.1 में जोड़ा गया था।

· --संस्करण, -V

संस्करण की जानकारी प्रदर्शित करें और बाहर निकलें।

MySQL 5.6.11 से पहले, mysqlbinlog दिखाया गया संस्करण क्रमांक 3.3 था। MySQL 5.6.11 में
और बाद में, यह 3.4 है। (बग #15894381, बग #67643)

आप निम्न वेरिएबल का उपयोग करके भी सेट कर सकते हैं --वर_नाम=मूल्य वाक्य - विन्यास:

· open_files_limit

आरक्षित करने के लिए खुले फ़ाइल डिस्क्रिप्टरों की संख्या निर्दिष्ट करें।

आप के आउटपुट को पाइप कर सकते हैं mysqlbinlog में MySQL घटनाओं को निष्पादित करने के लिए क्लाइंट
बाइनरी लॉग में निहित है। इस तकनीक का उपयोग दुर्घटना होने पर उससे उबरने के लिए किया जाता है
एक पुराना बैकअप (धारा 7.5 देखें, "बाइनरी का उपयोग करके पॉइंट-इन-टाइम (वृद्धिशील) पुनर्प्राप्ति"
लकड़ी का लट्ठा")। उदाहरण के लिए:

खोल> mysqlbinlog बिनलॉग.000001 | MySQL -u जड़ -p

या:

खोल> mysqlbinlog बिनलॉग.[0-9]* | MySQL -u जड़ -p

यदि बयान द्वारा उत्पादित mysqlbinlog इसमें BLOB मान हो सकते हैं, ये कारण हो सकते हैं
समस्याएँ जब MySQL उन्हें संसाधित करता है. इस मामले में, आह्वान करें MySQL साथ --बाइनरी-मोड
विकल्प.

आप इसके आउटपुट को रीडायरेक्ट भी कर सकते हैं mysqlbinlog यदि आपको आवश्यकता हो, तो इसके बजाय किसी टेक्स्ट फ़ाइल में
पहले स्टेटमेंट लॉग को संशोधित करें (उदाहरण के लिए, उन स्टेटमेंट को हटाने के लिए जिन्हें आप नहीं चाहते हैं
किसी कारण से निष्पादित करें)। फ़ाइल को संपादित करने के बाद, उसमें मौजूद कथनों को निष्पादित करें
इसे इनपुट के रूप में उपयोग करके MySQL कार्यक्रम:

खोल> mysqlbinlog बिनलॉग.000001 > tmpफ़ाइल
खोल> ... संपादित tmpफ़ाइल ...
खोल> MySQL -u जड़ -p < tmpफ़ाइल

. mysqlbinlog के साथ लगाया जाता है --शुरुआत की स्थिति विकल्प, यह केवल उन्हीं को प्रदर्शित करता है
बाइनरी लॉग में किसी दिए गए स्थान से अधिक या उसके बराबर ऑफसेट वाली घटनाएं (द
दी गई स्थिति एक घटना की शुरुआत से मेल खाना चाहिए)। इसमें रुकने और शुरू करने के विकल्प भी हैं
जब यह किसी निश्चित दिनांक और समय के साथ कोई ईवेंट देखता है। यह आपको प्रदर्शन करने में सक्षम बनाता है
का उपयोग करके पॉइंट-इन-टाइम पुनर्प्राप्ति --स्टॉप-डेटाटाइम विकल्प (कहने में सक्षम होने के लिए, उदाहरण के लिए,
"मेरे डेटाबेस को आगे बढ़ाएं कि वे आज सुबह 10:30 बजे कैसे थे")।

यदि आपके पास MySQL सर्वर पर निष्पादित करने के लिए एक से अधिक बाइनरी लॉग हैं, तो सुरक्षित तरीका यह है
सर्वर से एकल कनेक्शन का उपयोग करके उन सभी को संसाधित करें। इसका एक उदाहरण यहां दिया गया है
प्रदर्शित करता है कि क्या हो सकता है असुरक्षित:

खोल> mysqlbinlog बिनलॉग.000001 | MySQL -u जड़ -p # खतरा!!
खोल> mysqlbinlog बिनलॉग.000002 | MySQL -u जड़ -p # खतरा!!

सर्वर से एकाधिक कनेक्शन का उपयोग करके बाइनरी लॉग को इस तरह संसाधित करने से समस्याएँ उत्पन्न होती हैं
यदि पहली लॉग फ़ाइल में CREATE TEMPORARY TABLE स्टेटमेंट और दूसरे लॉग में है
इसमें एक कथन है जो अस्थायी तालिका का उपयोग करता है। जब प्रथम MySQL प्रक्रिया
समाप्त हो जाता है, सर्वर अस्थायी तालिका को हटा देता है। जब दूसरा MySQL प्रक्रिया प्रयास
तालिका का उपयोग करने के लिए, सर्वर "अज्ञात तालिका" की रिपोर्ट करता है।

इस तरह की समस्याओं से बचने के लिए, इसका उपयोग करें एक MySQL सभी की सामग्री को निष्पादित करने की प्रक्रिया
बाइनरी लॉग जिन्हें आप प्रोसेस करना चाहते हैं। ऐसा करने का एक तरीका यहां दिया गया है:

खोल> mysqlbinlog बिनलॉग.000001 बिनलॉग.000002 | MySQL -u जड़ -p

दूसरा तरीका यह है कि सभी लॉग को एक ही फ़ाइल में लिखें और फिर फ़ाइल को संसाधित करें:

खोल> mysqlbinlog बिनलॉग.000001 > /tmp/statement.sql
खोल> mysqlbinlog बिनलॉग.000002 >> /tmp/statement.sql
खोल> MySQL -u जड़ -p -e "स्रोत /tmp/statements.sql"

mysqlbinlog आउटपुट उत्पन्न कर सकता है जो बिना लोड डेटा इनफ़ाइल ऑपरेशन को पुन: उत्पन्न करता है
मूल डेटा फ़ाइल. mysqlbinlog डेटा को एक अस्थायी फ़ाइल में कॉपी करता है और एक LOAD लिखता है
डेटा स्थानीय INFILE कथन जो फ़ाइल को संदर्भित करता है। निर्देशिका का डिफ़ॉल्ट स्थान
जहां ये फ़ाइलें लिखी गई हैं वह सिस्टम-विशिष्ट है। किसी निर्देशिका को स्पष्ट रूप से निर्दिष्ट करने के लिए, उपयोग करें
la --स्थानीय-भार विकल्प.

क्योंकि mysqlbinlog लोड डेटा इनफाइल स्टेटमेंट को लोड डेटा लोकल इनफाइल में परिवर्तित करता है
स्टेटमेंट्स (अर्थात्, यह LOCAL जोड़ता है), क्लाइंट और सर्वर दोनों जिनका आप उपयोग करते हैं
प्रोसेस स्टेटमेंट को स्थानीय क्षमता सक्षम होने के साथ कॉन्फ़िगर किया जाना चाहिए। देखना
धारा 6.1.6, "लोड डेटा स्थानीय के साथ सुरक्षा मुद्दे"।

चेतावनी
लोड डेटा लोकल स्टेटमेंट के लिए बनाई गई अस्थायी फ़ाइलें हैं नहीं स्वतः
हटा दिया गया क्योंकि जब तक आप वास्तव में उन कथनों को निष्पादित नहीं करते तब तक उनकी आवश्यकता होती है। आप
जब आपको स्टेटमेंट लॉग की आवश्यकता न रह जाए तो आपको अस्थायी फ़ाइलों को स्वयं हटा देना चाहिए।
फ़ाइलें अस्थायी फ़ाइल निर्देशिका में पाई जा सकती हैं और उनके नाम इस प्रकार हैं
मूल_फ़ाइल_नाम-#-#.

Mysqlbinlog HEX डंप FORMAT


RSI --हेक्सडंप विकल्प कारण mysqlbinlog बाइनरी लॉग सामग्री का हेक्स डंप तैयार करने के लिए:

खोल> mysqlbinlog --हेक्सडंप मास्टर-बिन.000001

हेक्स आउटपुट में # से शुरू होने वाली टिप्पणी पंक्तियाँ होती हैं, इसलिए आउटपुट इस तरह दिख सकता है
यह पूर्ववर्ती आदेश के लिए:

/*!40019 सेट @@session.max_insert_delayed_threads=0*/;
/*!50003 सेट @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
#4 पर
#051024 17:24:13 सर्वर आईडी 1 एंड_लॉग_पॉस 98
# स्थिति टाइमस्टैम्प प्रकार मास्टर आईडी आकार मास्टर पॉज़ फ़्लैग
# 00000004 9d एफसी 5c 43 0f 01 00 00 00 5e 00 00 00 62 00 00 00 00 00
# 00000017 04 00 35 2e 30 2e 31 35 2d 64 65 62 75 67 2d 6c |..5.0.15.debug.l|
# 00000027 6एफ 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XNUMX XNUMX XNUMX XNUMX |ओग............|
# 00000037 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
# 00000047 00 00 00 00 9d fc 5c 43 13 38 0d 00 08 00 12 00 |......सी.8......|
# 00000057 04 04 04 04 12 00 00 4बी 00 04 1ए |.......के...|
# प्रारंभ: बिनलॉग वी 4, सर्वर वी 5.0.15-डीबग-लॉग बनाया गया 051024 17:24:13
# प्रारंभ होने पर
रोलबैक;

हेक्स डंप आउटपुट में वर्तमान में निम्नलिखित सूची में तत्व शामिल हैं। यह प्रारूप है
परिवर्तन के अधीन। (बाइनरी लॉग प्रारूप के बारे में अधिक जानकारी के लिए देखें MySQL आंतरिक: RSI
द्विचर लॉग इन[1]

· स्थिति: लॉग फ़ाइल के भीतर बाइट स्थिति.

· टाइमस्टैम्प: इवेंट टाइमस्टैम्प। दिखाए गए उदाहरण में, '9d fc 5c 43' है
हेक्साडेसिमल में '051024 17:24:13' का प्रतिनिधित्व।

· प्रकार: ईवेंट प्रकार कोड. दिखाए गए उदाहरण में, '0f' इंगित करता है
FORMAT_DESCRIPTION_EVENT. निम्न तालिका संभावित प्रकार के कोड सूचीबद्ध करती है।

┌─────┬───────────────────────────── ────────── ──────────────────────┐
प्रकारनामअर्थ
├─────┼───────────────────────────── ────────── ──────────────────────┤
│00 │ UNKNOWN_EVENT │ यह घटना कभी नहीं होनी चाहिए │
│ │ │ लॉग में उपस्थित रहें। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│01 │ START_EVENT_V3 │ यह प्रारंभ को इंगित करता है │
│ │ │ द्वारा लिखित लॉग फ़ाइल का
│ │ │ MySQL 4 या इससे पहले का संस्करण। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│02 │ QUERY_EVENT │ │ का सबसे सामान्य प्रकार
│ │ │ घटनाएँ। इनमें │ शामिल हैं
│ │ │ कथन │ पर निष्पादित
│ │ │ │
│ │ │ मास्टर. │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│03 │ STOP_EVENT │ इंगित करता है कि मास्टर के पास │ है
│ │ │ रुक गया। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│04 │ ROTATE_EVENT │ लिखा गया जब मास्टर │
│ │ │ एक नई लॉग फ़ाइल पर स्विच करता है। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│05 │ INTVAR_EVENT │ AUTO_INCREMENT के लिए प्रयुक्त │
│ │ │ मान या जब │
│ │ │ LAST_INSERT_ID() │
│ │ │ फ़ंक्शन │
कथन में │ │ │ का प्रयोग किया जाता है। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│06 │ LOAD_EVENT │ लोड डेटा के लिए उपयोग किया जाता है │
│ │ │ MySQL में INFILE │
│ │ │ 3.23. │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│07 │ SLAVE_EVENT │ भविष्य में उपयोग के लिए आरक्षित। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│08 │ CREATE_FILE_EVENT │ लोड डेटा के लिए उपयोग किया जाता है │
│ │ │ इन्फाइल │
│ │ │ कथन। यह │ को इंगित करता है
│ │ │ की शुरुआत │
│ │ │ ऐसे कथन का निष्पादन। ए │
│ │ │ अस्थायी │
│ │ │ फ़ाइल बनाई गई है │
│ │ │ दास पर। केवल MySQL 4 में उपयोग किया जाता है। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│09 │ APPEND_BLOCK_EVENT │ में उपयोग के लिए डेटा शामिल है
│ │ │ डेटा लोड करें │
│ │ │ इन्फाइल │
│ │ │ कथन. डेटा को │ में संग्रहीत किया जाता है
│ │ │ अस्थायी │
│ │ │ दास पर फ़ाइल। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│0a │ EXEC_LOAD_EVENT │ लोड डेटा के लिए उपयोग किया जाता है │
│ │ │ इन्फाइल │
│ │ │ कथन। │ की सामग्री
│ │ │ अस्थायी फ़ाइल │
│ │ │ को दास की मेज पर संग्रहित किया जाता है। │
│ │ │ MySQL 4 │ में प्रयुक्त
│ │ │ केवल। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│0b │ DELETE_FILE_EVENT │ लोड डेटा का रोलबैक │
│ │ │ इन्फाइल │
│ │ │ कथन. अस्थायी फ़ाइल │
│ │ │ │ होना चाहिए
│ │ │ दास पर हटा दिया गया। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│0c │ NEW_LOAD_EVENT │ लोड डेटा के लिए उपयोग किया जाता है │
│ │ │ MySQL में INFILE │
│ │ │ 4 और पहले। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│0d │ RAND_EVENT │ के बारे में जानकारी भेजने के लिए उपयोग किया जाता है
│ │ │ यादृच्छिक मान यदि │
│ │ │ RAND() फ़ंक्शन │
│ │ │ │ है
│ │ │ का प्रयोग │ में किया जाता है
│ │ │ कथन. │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│0e │ USER_VAR_EVENT │ उपयोगकर्ता चर को दोहराने के लिए उपयोग किया जाता है। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│0f │ FORMAT_DESCRIPTION_EVENT │ यह लॉग की शुरुआत को इंगित करता है │
│ │ │ MySQL 5 या बाद के संस्करण द्वारा लिखी गई फ़ाइल। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│10 │ XID_EVENT │ XA की प्रतिबद्धता दर्शाने वाली घटना │
│ │ │ लेनदेन। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│11 │ BEGIN_LOAD_QUERY_EVENT │ लोड डेटा के लिए उपयोग किया जाता है │
│ │ │ इन्फाइल │
│ │ │ MySQL 5 और बाद के संस्करण में कथन। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│12 │ EXECUTE_LOAD_QUERY_EVENT │ लोड डेटा के लिए उपयोग किया जाता है │
│ │ │ इन्फाइल │
│ │ │ MySQL 5 और बाद के संस्करण में कथन। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│13 │ TABLE_MAP_EVENT │ तालिका के बारे में जानकारी │
│ │ │ परिभाषा. MySQL 5.1.5 और │ में प्रयुक्त
│ │ │ बाद में। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│14 │ PRE_GA_WRITE_ROWS_EVENT │ एकल तालिका के लिए पंक्ति डेटा │
│ │ │ बनाना चाहिए। MySQL में प्रयुक्त │
│ │ │ 5.1.5 │
│ │ │ से 5.1.17. │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│15 │ PRE_GA_UPDATE_ROWS_EVENT │ एकल तालिका के लिए पंक्ति डेटा │
│ │ │ को अद्यतन करने की आवश्यकता है। MySQL में प्रयुक्त │
│ │ │ 5.1.5 से 5.1.17. │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│16 │ PRE_GA_DELETE_ROWS_EVENT │ एकल तालिका के लिए पंक्ति डेटा │
│ │ │ हटा देना चाहिए. MySQL में प्रयुक्त │
│ │ │ 5.1.5 │
│ │ │ से 5.1.17. │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│17 │ WRITE_ROWS_EVENT │ एकल तालिका के लिए पंक्ति डेटा │
│ │ │ बनाना चाहिए। MySQL में प्रयुक्त │
│ │ │ 5.1.18 │
│ │ │ और बाद में। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│18 │ UPDATE_ROWS_EVENT │ एकल तालिका के लिए पंक्ति डेटा │
│ │ │ को अद्यतन करने की आवश्यकता है। MySQL में प्रयुक्त │
│ │ │ 5.1.18 और │
│ │ │ बाद में। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│19 │ DELETE_ROWS_EVENT │ एकल तालिका के लिए पंक्ति डेटा │
│ │ │ हटा देना चाहिए. MySQL में प्रयुक्त │
│ │ │ 5.1.18 │
│ │ │ और बाद में। │
├─────┼───────────────────────────── ────────── ──────────────────────┤
│1ए │ घटना_घटना │ कुछ सामान्य से हटकर │
│ │ │ हुआ. MySQL 5.1.18 में जोड़ा गया। │
└─────┴───────────────────────────── ────────── ──────────────────────┘

· मास्टर आईडी: मास्टर की सर्वर आईडी जिसने ईवेंट बनाया।

· आकार: इवेंट के बाइट्स में आकार.

· मास्टर स्थिति: मूल मास्टर लॉग फ़ाइल में अगले ईवेंट की स्थिति।

· झंडे: 16 झंडे. वर्तमान में निम्नलिखित झंडों का प्रयोग किया जाता है। अन्य के लिए आरक्षित हैं
भविष्य के काम।

┌─────┬───────────────────────────── ────────── ──────────────────────────────────┐
झंडानामअर्थ
├─────┼─────────────────────────────┼── ────────── ─────────────────────────────────┤
│01 │ LOG_EVENT_BINLOG_IN_USE_F │ फ़ाइल को सही ढंग से लॉग करें │
│ │ │ बंद। (केवल │ में प्रयुक्त
│ │ │ FORMAT_DESCRIPTION_EVENT.) │
│ │ │ यदि │
│ │ │ यह │
│ │ │ ध्वज सेट है (यदि │
│ │ │ झंडे, उदाहरण के लिए, │ हैं
│ │ │ '01 │
│ │ │ 00') एक │ में
│ │ │ FORMAT_DESCRIPTION_EVENT, │
│ │ │ लॉग │
│ │ │ फ़ाइल │
│ │ │ ठीक से │ नहीं हुआ है
│ │ │ बंद। संभवतः │
│ │ │ यह │
│ │ │ एक गुरु │ के कारण है
│ │ │ दुर्घटना (उदाहरण के लिए, देय │
│ │ │ से │
│ │ │ बिजली विफलता)। │
├─────┼─────────────────────────────┼── ────────── ─────────────────────────────────┤
│02 │ │ भविष्य में उपयोग के लिए आरक्षित। │
├─────┼─────────────────────────────┼── ────────── ─────────────────────────────────┤
│04 │ LOG_EVENT_THREAD_SPECIFIC_F │ सेट करें कि क्या ईवेंट │ पर निर्भर है
│ │ │ कनेक्शन में इसे (│ के लिए) निष्पादित किया गया था
│ │ │ उदाहरण, '04 00'), │ के लिए
│ │ │ उदाहरण, │
│ │ │ यदि ईवेंट │ का उपयोग करता है
│ │ │ अस्थायी तालिकाएँ। │
├─────┼─────────────────────────────┼── ────────── ─────────────────────────────────┤
│08 │ LOG_EVENT_SUPPRESS_USE_F │ कुछ परिस्थितियों में सेट करें जब इवेंट │ हो
│ │ │ डिफ़ॉल्ट │ पर निर्भर नहीं है
│ │ │ डेटाबेस। │
└─────┴─────────────────────────────┴── ────────── ─────────────────────────────────┘

Mysqlbinlog आरओडब्ल्यू घटना प्रदर्शन


निम्नलिखित उदाहरण बताते हैं कि कैसे mysqlbinlog डेटा निर्दिष्ट करने वाली पंक्ति ईवेंट प्रदर्शित करता है
संशोधन. ये WRITE_ROWS_EVENT, UPDATE_ROWS_EVENT वाली घटनाओं के अनुरूप हैं।
और DELETE_ROWS_EVENT प्रकार के कोड। --बेस64-आउटपुट=डीकोड-पंक्तियाँ और --शब्दशः विकल्पों
पंक्ति ईवेंट आउटपुट को प्रभावित करने के लिए उपयोग किया जा सकता है।

मान लीजिए कि सर्वर पंक्ति-आधारित बाइनरी लॉगिंग का उपयोग कर रहा है और आप इसे निष्पादित करते हैं
कथनों का निम्नलिखित क्रम:

तालिका बनाएं टी
(
आईडी पूर्णतया शून्य नहीं है,
नाम VARCHAR(20) शून्य नहीं,
दिनांक दिनांक शून्य
) इंजन = InnoDB;
लेनदेन प्रारंभ करें;
टी मानों में सम्मिलित करें(1, 'सेब', शून्य);
अद्यतन करें सेट नाम = 'नाशपाती', दिनांक = '2009-01-01' जहां आईडी = 1;
टी से हटाएं जहां आईडी = 1;
COMMIT;

डिफ़ॉल्ट रूप से, mysqlbinlog BINLOG का उपयोग करके बेस-64 स्ट्रिंग्स के रूप में एन्कोड की गई पंक्ति घटनाओं को प्रदर्शित करता है
बयान. बाहरी पंक्तियों को छोड़कर, पंक्ति घटनाओं के लिए आउटपुट उत्पन्न होता है
पूर्ववर्ती कथन अनुक्रम इस प्रकार दिखता है:

खोल> mysqlbinlog बोटा दस्तावेज
...
#218 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 258 लिखें_पंक्तियाँ: टेबल आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAALAAANOAAAAAABEAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==
'/*!*/;
...
#302 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 356 अपडेट_पंक्तियाँ: तालिका आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAAAAAC4BAAAAABEAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBgBAAAangAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP
'/*!*/;
...
#400 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 442 डिलीट_रो: टेबल आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAALAAAJABAAAABEAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAAA//4AQAAAARwZWFyIbIP
'/*!*/;

पंक्ति घटनाओं को "छद्म-एसक्यूएल" कथन के रूप में टिप्पणियों के रूप में देखने के लिए, चलाएँ mysqlbinlog
साथ --शब्दशः or -v विकल्प। आउटपुट में ### से शुरू होने वाली पंक्तियाँ होंगी:

खोल> mysqlbinlog -v बोटा दस्तावेज
...
#218 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 258 लिखें_पंक्तियाँ: टेबल आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAALAAANOAAAAAABEAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==
'/*!*/;
### परीक्षण में सम्मिलित करें.t
### तय करना
### @1=1
### @2='सेब'
### @3=शून्य
...
#302 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 356 अपडेट_पंक्तियाँ: तालिका आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAAAAAC4BAAAAABEAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBgBAAAangAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP
'/*!*/;
### अद्यतन परीक्षण.t
### कहाँ
### @1=1
### @2='सेब'
### @3=शून्य
### तय करना
### @1=1
### @2='नाशपाती'
### @3='2009:01:01'
...
#400 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 442 डिलीट_रो: टेबल आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAALAAAJABAAAABEAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAAA//4AQAAAARwZWFyIbIP
'/*!*/;
### test.t से हटाएँ
### कहाँ
### @1=1
### @2='नाशपाती'
### @3='2009:01:01'

निर्दिष्ट करें --शब्दशः or -v प्रत्येक के लिए डेटा प्रकार और कुछ मेटाडेटा प्रदर्शित करने के लिए दो बार
कॉलम। प्रत्येक कॉलम परिवर्तन के बाद आउटपुट में एक अतिरिक्त टिप्पणी होगी:

खोल> mysqlbinlog -वीवी बोटा दस्तावेज
...
#218 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 258 लिखें_पंक्तियाँ: टेबल आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAALAAANOAAAAAABEAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBcBAAAAKAAAAAIBAAAQABEAAAAAAAEAA//8AQAAAAVhcHBsZQ==
'/*!*/;
### परीक्षण में सम्मिलित करें.t
### तय करना
### @1=1 /* INT मेटा=0 अशक्त=0 is_null=0 */
### @2='सेब' /* वारस्ट्रिंग(20) मेटा=20 अशक्त=0 is_null=0 */
### @3=शून्य /* वारस्ट्रिंग(20) मेटा=0 अशक्त=1 is_null=1 */
...
#302 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 356 अपडेट_पंक्तियाँ: तालिका आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAAAAAC4BAAAAABEAAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBgBAAAangAAAGQBAAAQABEAAAAAAAEAA////AEAAAAFYXBwbGX4AQAAAARwZWFyIbIP
'/*!*/;
### अद्यतन परीक्षण.t
### कहाँ
### @1=1 /* INT मेटा=0 अशक्त=0 is_null=0 */
### @2='सेब' /* वारस्ट्रिंग(20) मेटा=20 अशक्त=0 is_null=0 */
### @3=शून्य /* वारस्ट्रिंग(20) मेटा=0 अशक्त=1 is_null=1 */
### तय करना
### @1=1 /* INT मेटा=0 अशक्त=0 is_null=0 */
### @2='नाशपाती' /* वारस्ट्रिंग(20) मेटा=20 अशक्त=0 is_null=0 */
### @3='2009:01:01' /* दिनांक मेटा=0 अशक्त=1 is_null=0 */
...
#400 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 442 डिलीट_रो: टेबल आईडी 17 फ़्लैग: STMT_END_F
बिनलॉग'
fAS3SBMBAAAALAAAJABAAAABEAAAAAABHRlc3QAAXQAAwMPCgIUAAQ=
fAS3SBkBAAAAKgAAALoBAAAQABEAAAAAAAAA//4AQAAAARwZWFyIbIP
'/*!*/;
### test.t से हटाएँ
### कहाँ
### @1=1 /* INT मेटा=0 अशक्त=0 is_null=0 */
### @2='नाशपाती' /* वारस्ट्रिंग(20) मेटा=20 अशक्त=0 is_null=0 */
### @3='2009:01:01' /* दिनांक मेटा=0 अशक्त=1 is_null=0 */

आप बता सकते हैं mysqlbinlog का उपयोग करके पंक्ति घटनाओं के लिए BINLOG कथनों को दबाने के लिए
--बेस64-आउटपुट=डीकोड-पंक्तियाँ विकल्प। ये इसी के समान है --बेस64-आउटपुट=कभी नहीं लेकिन नहीं करता
यदि कोई पंक्ति घटना मिलती है तो त्रुटि के साथ बाहर निकलें। का संयोजन --बेस64-आउटपुट=डीकोड-पंक्तियाँ
और --शब्दशः पंक्ति घटनाओं को केवल SQL कथन के रूप में देखने का एक सुविधाजनक तरीका प्रदान करता है:

खोल> mysqlbinlog -v --बेस64-आउटपुट=डीकोड-पंक्तियाँ बोटा दस्तावेज
...
#218 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 258 लिखें_पंक्तियाँ: टेबल आईडी 17 फ़्लैग: STMT_END_F
### परीक्षण में सम्मिलित करें.t
### तय करना
### @1=1
### @2='सेब'
### @3=शून्य
...
#302 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 356 अपडेट_पंक्तियाँ: तालिका आईडी 17 फ़्लैग: STMT_END_F
### अद्यतन परीक्षण.t
### कहाँ
### @1=1
### @2='सेब'
### @3=शून्य
### तय करना
### @1=1
### @2='नाशपाती'
### @3='2009:01:01'
...
#400 पर
#080828 15:03:08 सर्वर आईडी 1 एंड_लॉग_पॉस 442 डिलीट_रो: टेबल आईडी 17 फ़्लैग: STMT_END_F
### test.t से हटाएँ
### कहाँ
### @1=1
### @2='नाशपाती'
### @3='2009:01:01'

नोट
यदि आप पुनः निष्पादित करने का इरादा रखते हैं तो आपको BINLOG कथनों को नहीं दबाना चाहिए mysqlbinlog
उत्पादन.

द्वारा निर्मित SQL कथन --शब्दशः पंक्ति घटनाओं की तुलना में बहुत अधिक पठनीय हैं
संबंधित बिनलॉग विवरण। हालाँकि, वे मूल से बिल्कुल मेल नहीं खाते हैं
SQL कथन जो ईवेंट उत्पन्न करते हैं। निम्नलिखित सीमाएँ लागू होती हैं:

· मूल कॉलम नाम खो गए हैं और उनकी जगह @ ले लिया गया हैN, जहां N एक कॉलम नंबर है.

· कैरेक्टर सेट की जानकारी बाइनरी लॉग में उपलब्ध नहीं है, जो स्ट्रिंग को प्रभावित करती है
स्तंभ प्रदर्शन:

· संगत बाइनरी और नॉनबाइनरी स्ट्रिंग के बीच कोई अंतर नहीं किया गया है
प्रकार (बाइनरी और CHAR, VARBINARY और VARCHAR, BLOB और टेक्स्ट)। आउटपुट का उपयोग करता है a
निश्चित-लंबाई स्ट्रिंग के लिए डेटा प्रकार STRING और चर-लंबाई के लिए VARSTRING
तार।

· मल्टीबाइट कैरेक्टर सेट के लिए, प्रति कैरेक्टर बाइट्स की अधिकतम संख्या नहीं है
बाइनरी लॉग में मौजूद है, इसलिए स्ट्रिंग प्रकारों की लंबाई बाइट्स में प्रदर्शित होती है
बल्कि किरदारों में. उदाहरण के लिए, STRING है(4) डेटा प्रकार के रूप में उपयोग किया जाएगा
इनमें से किसी भी कॉलम प्रकार के मानों के लिए:

CHAR(4) कैरेक्टर सेट लैटिन1
CHAR(2) कैरेक्टर सेट ucs2

· UPDATE_ROWS_EVENT प्रकार की घटनाओं के लिए भंडारण प्रारूप के कारण, अद्यतन विवरण
SET क्लॉज से पहले WHERE क्लॉज के साथ प्रदर्शित होते हैं।

पंक्ति घटनाओं की उचित व्याख्या के लिए प्रारूप विवरण से जानकारी की आवश्यकता होती है
बाइनरी लॉग की शुरुआत में घटना। क्योंकि mysqlbinlog पहले से नहीं पता
क्या शेष लॉग में पंक्ति ईवेंट शामिल हैं, डिफ़ॉल्ट रूप से यह प्रारूप प्रदर्शित करता है
आउटपुट के प्रारंभिक भाग में BINLOG कथन का उपयोग करके विवरण घटना।

यदि बाइनरी लॉग में कोई ऐसी घटना शामिल नहीं है जिसके लिए BINLOG स्टेटमेंट की आवश्यकता होती है (तो
है, कोई पंक्ति घटनाएँ नहीं), द --बेस64-आउटपुट=कभी नहीं इस हेडर को रोकने के लिए विकल्प का उपयोग किया जा सकता है
लिखे जाने से.

का उपयोग करते हुए Mysqlbinlog सेवा मेरे वापस UP बायनरी LOG फ़ाइलें


डिफ़ॉल्ट रूप से, mysqlbinlog बाइनरी लॉग फ़ाइलों को पढ़ता है और उनकी सामग्री को टेक्स्ट प्रारूप में प्रदर्शित करता है।
यह आपको फ़ाइलों के भीतर घटनाओं की अधिक आसानी से जांच करने और उन्हें फिर से निष्पादित करने में सक्षम बनाता है
(उदाहरण के लिए, आउटपुट को इनपुट के रूप में उपयोग करके MySQL). mysqlbinlog लॉग फ़ाइलें पढ़ सकते हैं
सीधे स्थानीय फ़ाइल सिस्टम से, या, के साथ --रिमोट-सर्वर से पढ़ें विकल्प, यह हो सकता है
किसी सर्वर से कनेक्ट करें और उस सर्वर से बाइनरी लॉग सामग्री का अनुरोध करें। mysqlbinlog लिखते हैं
टेक्स्ट आउटपुट को उसके मानक आउटपुट, या मान के रूप में नामित फ़ाइल में आउटपुट करें
--परिणाम-फ़ाइल=फ़ाइल का नाम विकल्प यदि वह विकल्प दिया गया है।

MySQL 5.6 के अनुसार, mysqlbinlog बाइनरी लॉग फ़ाइलें पढ़ सकते हैं और नई फ़ाइलें लिख सकते हैं
समान सामग्री—अर्थात् पाठ प्रारूप के बजाय बाइनरी प्रारूप में। यह क्षमता सक्षम बनाती है
आप किसी बाइनरी लॉग का उसके मूल स्वरूप में आसानी से बैकअप ले सकते हैं। mysqlbinlog स्थैतिक बना सकते हैं
बैकअप, लॉग फ़ाइलों के एक सेट का बैकअप लेना और अंतिम फ़ाइल समाप्त होने पर रुकना
पहुँच गया। यह सर्वर से जुड़े रहकर निरंतर ("लाइव") बैकअप भी बना सकता है
जब यह अंतिम लॉग फ़ाइल के अंत तक पहुँच जाता है और नए ईवेंट को वैसे ही कॉपी करना जारी रखता है जैसे वे हैं
उत्पन्न. सतत-बैकअप ऑपरेशन में, mysqlbinlog कनेक्शन समाप्त होने तक चलता है (के लिए)।
उदाहरण के लिए, जब सर्वर बाहर निकलता है) या mysqlbinlog जबरन समाप्त कर दिया गया है। जब कनेक्शन
समाप्त होता है, mysqlbinlog दास प्रतिकृति के विपरीत, प्रतीक्षा नहीं करता है और कनेक्शन का पुनः प्रयास नहीं करता है
सर्वर. सर्वर पुनरारंभ होने के बाद लाइव बैकअप जारी रखने के लिए, आपको यह भी करना होगा
पुनः प्रारंभ mysqlbinlog.

बाइनरी लॉग बैकअप के लिए आवश्यक है कि आप इनवोक करें mysqlbinlog न्यूनतम दो विकल्पों के साथ:

· --रिमोट-सर्वर से पढ़ें (या -R) विकल्प बताता है mysqlbinlog किसी सर्वर से कनेक्ट करने के लिए
और इसके बाइनरी लॉग का अनुरोध करें। (यह स्लेव प्रतिकृति सर्वर से जुड़ने के समान है
इसके मास्टर सर्वर पर।)

· --कच्चा विकल्प बताता है mysqlbinlog कच्चा (बाइनरी) आउटपुट लिखने के लिए, टेक्स्ट आउटपुट नहीं।

साथ साथ --रिमोट-सर्वर से पढ़ें, अन्य विकल्प निर्दिष्ट करना आम बात है: --मेज़बान
इंगित करता है कि सर्वर कहाँ चल रहा है, और आपको कनेक्शन विकल्प निर्दिष्ट करने की भी आवश्यकता हो सकती है
जैसे --उपयोगकर्ता और --पासवर्ड.

इसके साथ संयोजन में कई अन्य विकल्प भी उपयोगी हैं --कच्चा:

· --रुको-कभी नहीं: अंतिम लॉग फ़ाइल के अंत तक पहुँचने के बाद सर्वर से जुड़े रहें
और नई घटनाएं पढ़ना जारी रखें।

· --स्टॉप-नेवर-स्लेव-सर्वर-आईडी=id: सर्वर आईडी वह है mysqlbinlog सर्वर को रिपोर्ट करता है
कब --रुको-कभी नहीं प्रयोग किया जाता है। डिफ़ॉल्ट 65535 है। इसका उपयोग किसी विरोध से बचने के लिए किया जा सकता है
स्लेव सर्वर या किसी अन्य की आईडी के साथ mysqlbinlog प्रक्रिया। नामक अनुभाग देखें
"MySQLBINLOG सर्वर आईडी निर्दिष्ट करना"।

· --परिणाम-फ़ाइल: आउटपुट फ़ाइल नामों के लिए एक उपसर्ग, जैसा कि बाद में बताया गया है।

सर्वर की बाइनरी लॉग फ़ाइलों का बैकअप लेने के लिए mysqlbinlog, आपको फ़ाइल नाम निर्दिष्ट करना होगा
वास्तव में सर्वर पर मौजूद है। यदि आप नाम नहीं जानते हैं, तो सर्वर से कनेक्ट करें और उपयोग करें
वर्तमान नाम देखने के लिए बाइनरी लॉग्स दिखाएँ कथन। मान लीजिए कि कथन
यह आउटपुट उत्पन्न करता है:

mysql> शो बायनरी लॉग;
+----------------------------+----------+
| लॉग_नाम | File_size |
+----------------------------+----------+
| बिनलॉग.000130 | 27459 |
| बिनलॉग.000131 | 13719 |
| बिनलॉग.000132 | 43268 |
+----------------------------+----------+

उस जानकारी से आप उपयोग कर सकते हैं mysqlbinlog बाइनरी लॉग को वर्तमान में बैकअप करने के लिए
निर्देशिका इस प्रकार है (प्रत्येक कमांड को एक पंक्ति में दर्ज करें):

· binlog.000130 के माध्यम से binlog.000132 का स्थिर बैकअप बनाने के लिए, इनमें से किसी एक का उपयोग करें
आदेश:

mysqlbinlog --read-from-remote-server --host=होस्ट_नाम --कच्चा
बिनलॉग.000130 बिनलॉग.000131 बिनलॉग.000132
mysqlbinlog --read-from-remote-server --host=होस्ट_नाम --कच्चा
--टू-लास्ट-लॉग बिनलॉग.000130

पहला कमांड प्रत्येक फ़ाइल नाम को स्पष्ट रूप से निर्दिष्ट करता है। दूसरे नाम केवल
पहली फ़ाइल और उपयोग --टू-लास्ट-लॉग आखिरी तक पढ़ने के लिए. इनमें एक अंतर
आदेश यह है कि यदि सर्वर पहले बिनलॉग.000133 खोलता है mysqlbinlog
बिनलॉग.000132 के अंत तक पहुंचने पर, पहला कमांड इसे नहीं पढ़ेगा, लेकिन दूसरा
आदेश होगा.

· जिसमें लाइव बैकअप बनाना है mysqlbinlog मौजूदा को कॉपी करने के लिए binlog.000130 से प्रारंभ होता है
लॉग फ़ाइलें, फिर नए ईवेंट को कॉपी करने के लिए कनेक्ट रहता है क्योंकि सर्वर उन्हें उत्पन्न करता है:

mysqlbinlog --read-from-remote-server --host=होस्ट_नाम --कच्चा
--स्टॉप-कभी नहीं बिनलॉग.000130

- --रुको-कभी नहीं, निर्दिष्ट करना आवश्यक नहीं है --टू-लास्ट-लॉग आखिरी तक पढ़ने के लिए
लॉग फ़ाइल करें क्योंकि वह विकल्प निहित है।
आउटपुट फ़ाइल नामकरण.पीपी बिना --कच्चा, mysqlbinlog टेक्स्ट आउटपुट उत्पन्न करता है और
--परिणाम-फ़ाइल विकल्प, यदि दिया गया है, तो उस एकल फ़ाइल का नाम निर्दिष्ट करता है जिसमें सभी आउटपुट होते हैं
लिखा है। साथ --कच्चा, mysqlbinlog प्रत्येक लॉग फ़ाइल के लिए एक बाइनरी आउटपुट फ़ाइल लिखता है
सर्वर से स्थानांतरित किया गया. डिफ़ॉल्ट रूप से, mysqlbinlog फ़ाइलों को वर्तमान में लिखता है
मूल लॉग फ़ाइलों के समान नाम वाली निर्देशिका। आउटपुट फ़ाइल नामों को संशोधित करने के लिए,
उपयोग --परिणाम-फ़ाइल विकल्प। के साथ संयोजन के रूप में --कच्चा, --परिणाम-फ़ाइल विकल्प मान है
इसे एक उपसर्ग के रूप में माना जाता है जो आउटपुट फ़ाइल नामों को संशोधित करता है।

मान लीजिए कि किसी सर्वर में वर्तमान में binlog.000999 और उससे ऊपर नाम की बाइनरी लॉग फ़ाइलें हैं। अगर आप
उपयोग mysqlbinlog --कच्चा फ़ाइलों का बैकअप लेने के लिए, --परिणाम-फ़ाइल विकल्प आउटपुट फ़ाइल उत्पन्न करता है
नाम जैसा कि निम्नलिखित तालिका में दिखाया गया है। आप फ़ाइलों को किसी विशिष्ट निर्देशिका में लिख सकते हैं
शुरुआत --परिणाम-फ़ाइल निर्देशिका पथ के साथ मान. यदि --परिणाम-फ़ाइल मूल्य
इसमें केवल निर्देशिका नाम शामिल है, मान पथनाम विभाजक के साथ समाप्त होना चाहिए
चरित्र। यदि आउटपुट फ़ाइलें मौजूद हैं तो उन्हें अधिलेखित कर दिया जाता है।

┌─────────────────────┬──────────── ────────── ─┐
--परिणाम-फ़ाइल विकल्प │ उत्पादन पट्टिका नाम
├─────────────────────┼──────────── ────────── ─┤
--परिणाम-फ़ाइल=x │ xbinlog.000999 और ऊपर │
├─────────────────────┼──────────── ────────── ─┤
--परिणाम-फ़ाइल=/ Tmp / │ /tmp/binlog.000999 और ऊपर │
├─────────────────────┼──────────── ────────── ─┤
--परिणाम-फ़ाइल=/tmp/x │ /tmp/xbinlog.000999 और ऊपर │
└─────────────────────┴──────────── ────────── ─┘
उदाहरण: बैकअप और रिस्टोर के लिए mysqldump + mysqlbinlog.PP निम्नलिखित उदाहरण वर्णन करता है
एक सरल परिदृश्य जो दिखाता है कि कैसे उपयोग करना है mysqldump और mysqlbinlog एक साथ बैकअप लेने के लिए
सर्वर का डेटा और बाइनरी लॉग, और डेटा हानि होने पर सर्वर को पुनर्स्थापित करने के लिए बैकअप का उपयोग कैसे करें
घटित होना। उदाहरण मानता है कि सर्वर होस्ट पर चल रहा है होस्ट_नाम और यह पहला है
बाइनरी लॉग फ़ाइल का नाम binlog.000999 है। प्रत्येक कमांड को एक पंक्ति में दर्ज करें।

उपयोग mysqlbinlog बाइनरी लॉग का निरंतर बैकअप बनाने के लिए:

mysqlbinlog --read-from-remote-server --host=होस्ट_नाम --कच्चा
--स्टॉप-कभी नहीं बिनलॉग.000999

उपयोग mysqldump सर्वर के डेटा के स्नैपशॉट के रूप में एक डंप फ़ाइल बनाने के लिए। उपयोग
--ऑल-डेटाबेस, --आयोजन, तथा --दिनचर्या सभी डेटा का बैकअप लेने के लिए, और --मास्टर-डेटा=2 सेवा मेरे
डंप फ़ाइल में वर्तमान बाइनरी लॉग निर्देशांक शामिल करें।

mysqldump --host=होस्ट_नाम --सभी-डेटाबेस --घटनाएँ --रूटीन्स --मास्टर-डेटा=2> डंप फ़ाइल

निष्पादित करें mysqldump इच्छानुसार नए स्नैपशॉट बनाने के लिए समय-समय पर आदेश दें।

यदि डेटा हानि होती है (उदाहरण के लिए, यदि सर्वर क्रैश हो जाता है), तो नवीनतम डंप फ़ाइल का उपयोग करें
डेटा पुनर्स्थापित करें:

mysql --होस्ट=होस्ट_नाम -यू रूट -पी डंप फ़ाइल

फिर उसके बाद लिखी गई घटनाओं को दोबारा निष्पादित करने के लिए बाइनरी लॉग बैकअप का उपयोग करें
डंप फ़ाइल में सूचीबद्ध निर्देशांक। मान लीजिए कि फ़ाइल में निर्देशांक इस प्रकार दिखते हैं
इस:

-- मास्टर को MASTER_LOG_FILE='binlog.001002', MASTER_LOG_POS=27284; में बदलें;

यदि सबसे हाल ही में बैकअप की गई लॉग फ़ाइल का नाम binlog.001004 है, तो लॉग इवेंट को फिर से निष्पादित करें
इस तरह:

mysqlbinlog --प्रारंभ-स्थिति=27284 बिनलॉग.001002 बिनलॉग.001003 बिनलॉग.001004
| mysql --होस्ट=होस्ट_नाम -यू रूट -पी

आपको बैकअप फ़ाइलों (डंप फ़ाइल और बाइनरी लॉग फ़ाइलों) को कॉपी करना आसान हो सकता है
पुनर्स्थापना ऑपरेशन करना आसान बनाने के लिए सर्वर होस्ट, या यदि MySQL अनुमति नहीं देता है
दूरस्थ रूट पहुंच।

निर्दिष्ट करना THE Mysqlbinlog सर्वर ID


जब के साथ आह्वान किया जाता है --रिमोट-सर्वर से पढ़ें विकल्प, mysqlbinlog एक MySQL से जुड़ता है
सर्वर, स्वयं को पहचानने के लिए एक सर्वर आईडी निर्दिष्ट करता है, और बाइनरी लॉग फ़ाइलों का अनुरोध करता है
सर्वर. आप उपयोग कर सकते हैं mysqlbinlog किसी सर्वर से कई तरीकों से लॉग फ़ाइलों का अनुरोध करना:

· फ़ाइलों का स्पष्ट रूप से नामित सेट निर्दिष्ट करें: प्रत्येक फ़ाइल के लिए, mysqlbinlog जोड़ता है और
बिनलॉग डंप कमांड जारी करता है। सर्वर फ़ाइल भेजता है और डिस्कनेक्ट कर देता है। वहां एक है
प्रति फ़ाइल कनेक्शन.

· आरंभिक फ़ाइल निर्दिष्ट करें और --टू-लास्ट-लॉग: mysqlbinlog एक बिनलॉग जोड़ता है और जारी करता है
सभी फ़ाइलों के लिए डंप कमांड। सर्वर सभी फ़ाइलें भेजता है और डिस्कनेक्ट कर देता है।

· आरंभिक फ़ाइल निर्दिष्ट करें और --रुको-कभी नहीं (जो ये दर्शाता हे --टू-लास्ट-लॉग): mysqlbinlog
सभी फ़ाइलों के लिए बिनलॉग डंप कमांड कनेक्ट और जारी करता है। सर्वर सभी फ़ाइलें भेजता है,
लेकिन अंतिम भेजने के बाद डिस्कनेक्ट नहीं होता है।

- --रिमोट-सर्वर से पढ़ें केवल, mysqlbinlog 0 की सर्वर आईडी का उपयोग करके कनेक्ट होता है, जो
अंतिम अनुरोधित लॉग फ़ाइल भेजने के बाद सर्वर को डिस्कनेक्ट करने के लिए कहता है।

- --रिमोट-सर्वर से पढ़ें और --रुको-कभी नहीं, mysqlbinlog एक अशून्य का उपयोग करके जुड़ता है
सर्वर आईडी, ताकि अंतिम लॉग फ़ाइल भेजने के बाद सर्वर डिस्कनेक्ट न हो। सर्वर
डिफ़ॉल्ट रूप से आईडी 65535 है, लेकिन इसे इसके साथ बदला जा सकता है --स्टॉप-नेवर-स्लेव-सर्वर-आईडी.

इस प्रकार, फ़ाइलों का अनुरोध करने के पहले दो तरीकों के लिए, सर्वर डिस्कनेक्ट हो जाता है
mysqlbinlog 0 की सर्वर आईडी निर्दिष्ट करता है। यदि यह डिस्कनेक्ट नहीं होता है --रुको-कभी नहीं दिया हुआ है
क्योंकि mysqlbinlog एक गैर-शून्य सर्वर आईडी निर्दिष्ट करता है।

कॉपीराइट


कॉपीराइट © 1997, 2014, Oracle और/या इसके सहयोगी। सर्वाधिकार सुरक्षित।

यह दस्तावेज़ीकरण मुफ़्त सॉफ़्टवेयर है; आप इसे पुनर्वितरित कर सकते हैं और/या इसे केवल के अंतर्गत संशोधित कर सकते हैं
फ्री सॉफ्टवेयर फाउंडेशन द्वारा प्रकाशित जीएनयू जनरल पब्लिक लाइसेंस की शर्तें;
लाइसेंस का संस्करण 2।

यह दस्तावेज इस उम्मीद में वितरित किया गया है कि यह उपयोगी होगा, लेकिन बिना किसी के
वारंटी; किसी विशेष के लिए व्यापारिकता या उपयुक्तता की निहित वारंटी के बिना भी
प्रयोजन। अधिक विवरण के लिए जीएनयू जनरल पब्लिक लाइसेंस देखें।

आपको कार्यक्रम के साथ जीएनयू जनरल पब्लिक लाइसेंस की एक प्रति प्राप्त होनी चाहिए;
यदि नहीं, तो फ्री सॉफ्टवेयर फाउंडेशन, इंक., 51 फ्रैंकलिन स्ट्रीट, पांचवीं मंजिल, को लिखें।
बोस्टन, एमए 02110-1301 यूएसए या देखें http://www.gnu.org/licenses/.

टिप्पणियाँ


1. MySQL इंटरनल्स: बाइनरी लॉग
http://dev.mysql.com/doc/internals/en/binary-log.html

onworks.net सेवाओं का उपयोग करके ऑनलाइन mysqlbinlog का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

Ad




×
विज्ञापन
❤️यहां खरीदारी करें, बुक करें या खरीदें - कोई शुल्क नहीं, इससे सेवाएं निःशुल्क बनी रहती हैं।