Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL 8.0 डेटा फोल्डर को कैसे बदलें। क्या मैं वनड्राइव फ़ोल्डर का उपयोग कर सकता हूं?

यदि आप कुछ अन्य उपयोगकर्ताओं के साथ एक डेटाबेस साझा करना चाहते हैं, तो डेटादिर को OneDrive में डालने से काम नहीं चलेगा।

MySQL डेटादिर के तहत फाइलों में डेटा स्टोर करता है, यह सच है। वे टेबलस्पेस . नामक फ़ाइलों में संग्रहीत हैं जिनके पास .ibd . है विस्तार।

लेकिन जैसा कि आप INSERT/UPDATE/DELETE ऑपरेशन करते हैं, डेटा अस्थायी रूप से मेमोरी में और ट्रांजेक्शन लॉग्स (ib_logfile*) में स्टोर हो जाता है। . अच्छा प्रदर्शन सुनिश्चित करते हुए डेटा को टिकाऊ तरीके से बचाने के लिए MySQL को इनके बीच एक नाजुक समन्वय करना पड़ता है। यह अच्छी तरह से काम करता है, लेकिन केवल तभी जब MySQL सर्वर फाइलों को लिखने की एकमात्र प्रक्रिया है।

OneDrive MySQL के साथ बिल्कुल भी समन्वय नहीं कर रहा है। यह समय-समय पर उन फ़ाइलों की जांच करेगा जो पिछली बार सिंक करने के बाद से बदल गई हैं। अंतराल वनड्राइव फाइलों की जांच हर 10 मिनट में करता है, और यह विन्यास योग्य नहीं है।

आपके द्वारा कुछ INSERT/UPDATE/DELETE संचालन करने के बाद OneDrive फ़ाइलों को एक पल में सिंक करना चुन सकता है, और डेटा को RAM में संशोधित किया गया है, लेकिन अभी तक डिस्क पर टेबलस्पेस फ़ाइलों में अपडेट नहीं किया गया है।

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

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

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

इसलिए मुझे डर है कि OneDrive आपके डेटाबेस को साझा करने का समाधान नहीं है।

जिन विकल्पों में काम करने की संभावना है उनमें शामिल हैं:

  • एक वेबसाइट पर MySQL सर्वर का एक उदाहरण होस्ट करना जिसे आप सभी साझा करते हैं, और आप में से प्रत्येक को एक क्लाइंट देते हैं जो डेटाबेस का उपयोग कर सकता है। एक लोकप्रिय मुफ़्त क्लाइंट है phpMyAdmin . इस तरह, MySQL सर्वर का केवल एक उदाहरण होगा, एक डेटादिर, भले ही आप प्रत्येक डेटा पढ़ने और लिखने वाले समवर्ती क्लाइंट होंगे। यह सबसे आसान उपाय है, जिसके काम करने की सबसे अधिक संभावना है।

  • mysqldump का उपयोग करके अपने MySQL सर्वर इंस्टेंस से डेटा निर्यात करना समय-समय पर, और निर्यात फ़ाइल को OneDrive पर डालना, या अपने मित्रों को ईमेल या किसी अन्य माध्यम से भेजना। फिर उन्हें उस डेटा को अपने MySQL सर्वर पर मैन्युअल रूप से आयात करना होगा। यह उनके द्वारा अपने डेटाबेस में किए गए किसी भी परिवर्तन को अधिलेखित कर देगा, लेकिन यह भ्रष्टाचार के रूप में प्रकट नहीं होगा। यदि वे आपको परिवर्तन वापस भेजना चाहते हैं, तो वे एक समान ऑपरेशन कर सकते हैं:अपने डेटाबेस को निर्यात करें, डंप फ़ाइल को वनड्राइव पर रखें, फिर आप उनकी डंप फ़ाइल प्राप्त करेंगे और इसे अपने MySQL सर्वर इंस्टेंस में आयात करेंगे, आपके द्वारा किए गए किसी भी बदलाव को ओवरराइट कर देंगे पिछली बार जब आपने अपना निर्यात अपने मित्रों को भेजा था, तब से स्थानीय रूप से किया गया है।

  • मल्टी-सर्वर सिंक्रोनस प्रतिकृति के लिए MySQL ऐड-ऑन का उपयोग करें, जैसे InnoDB समूह प्रतिकृति या Percona XtraDB क्लस्टर . लेकिन यदि आप MySQL के साथ नौसिखिया हैं, तो इसे सेट करना आपके लिए शायद बहुत जटिल है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql डेटाटाइम तुलना

  2. पायथन में MySQL INSERT कथन

  3. Ansible idempotent MySQL इंस्टालेशन प्लेबुक

  4. अनुक्रमित कॉलम पर MySQL क्वेरी IN () खंड धीमा

  5. MySQL केस संवेदनशील क्वेरी