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

किसी अन्य उपयोगकर्ता खाते (मैकोज़) से एक MySQL इंस्टेंस पुनर्प्राप्त करना

मैं अपने दोस्त के मैक का अस्थायी रूप से उपयोग कर रहा था जब तक कि मेरी खुद की सर्विस नहीं हो रही थी। इसलिए इस सप्ताह की शुरुआत में, मैंने अपने उपयोगकर्ता खाते को उसके मैक पर हटा दिया, जिसमें डेटाबेस का एक गुच्छा था जिसकी मुझे आवश्यकता थी। मैंने उस खाते को हटाने से पहले अधिकांश उपयोगकर्ता डेटा का बैकअप लिया था, लेकिन जल्द ही मुझे एहसास हुआ कि मैं डेटाबेस का बैकअप लेने से चूक गया हूं। सौभाग्य की बात और संभवतः इसका कारण यह है कि डेटाबेस डेटा निर्देशिका आम तौर पर उपयोगकर्ता खाते के बाहर रहती है। इस लेख में, मैं अपने दोस्तों के उपयोगकर्ता खाते का उपयोग करके इस डीबी डेटा को वापस पाने के बुलेट बिंदुओं का उल्लेख करूंगा (या आप एक नया भी बना सकते हैं और वही कदम उठा सकते हैं)।

  • सुनिश्चित करें कि mariadb अभी भी brew install mariadb चलाकर स्थापित है मैंने पाया कि यह उपलब्ध था लेकिन होमब्रे के पास इंस्टॉल निर्देशिका तक पहुंच नहीं थी क्योंकि इसे एक अलग उपयोगकर्ता खाते से बनाया गया था। तो सबसे पहले हम इसे चलाकर रिकवर करते हैं:
sudo chown -R $(whoami) /usr/local/bin

यदि कमांड ने एक त्रुटि डंप फेंक दिया है जिसमें दिखाया गया है कि किन फ़ोल्डरों तक इसकी पहुंच नहीं है, तो आप प्रत्येक फ़ोल्डर के लिए एक ही कमांड चला सकते हैं। मैंने brew upgrade mariadb भी चलाया नए mariadb इंस्टॉल के साथ डेटा तक बने रहने के लिए (हालाँकि मैं इसे आम तौर पर तब तक चलाने की सलाह नहीं दूंगा जब तक आप डेटाबेस का बैकअप नहीं ले लेते)।

  • अगला आपको यह पता लगाना होगा कि कौन सी डेटा निर्देशिका mariadb उपयोग करती है और उस पर भी chown चलाती है। इसे चलाकर किया जा सकता है:
brew services list

यह चल रही सेवाओं और उनके रन कॉन्फ़िगरेशन की एक सूची देगा। बस mariadb कार्यों का कॉन्फिगरेशन खोलें और पैरामीटर देखें --datadir एक्सएमएल में - तर्क ब्लॉक के अंदर होना चाहिए। मेरे मामले में, यह था --datadir=/usr/local/var/mysql . अब उस पथ को कॉपी करें और चलाएं:

sudo chown -R $(whoami) /usr/local/var/mysql

इस बिंदु पर, आप सोच सकते हैं, क्यों न केवल डेटा निर्देशिका को अपने मैक में कॉपी करें और फिर सीधे डेटाबेस खोलें? यहाँ समस्या यह है कि फ़ोल्डर में केवल .ibd . है और .frm फ़ाइलें जो वास्तव में mySQL द्वारा आयात योग्य नहीं हैं। इसलिए मुझे इस डेटा डीआईआर के साथ फिर से MySQL सर्वर चलाना होगा और फिर इसे निर्यात करना होगा।

  • अगला, मुझे यह सुनिश्चित करने के लिए किसी भी चल रहे mysql सर्वर को रोकना पड़ा कि मैं mysql को सुचारू रूप से शुरू कर सकूं। मैं इसे चलाकर करता हूं:
brew services stop mariadb
ps aux | grep mysql

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

अब, ताजा mysql उदाहरण का उपयोग करके शुरू किया जा सकता है:

brew services start mariadb

वैकल्पिक रूप से, आप होमब्री सेवा कॉन्फ़िगरेशन की एक्सएमएल फ़ाइल में उल्लिखित बिन फ़ोल्डर में पाए गए प्रोग्राम को भी कॉल कर सकते हैं यानी पहली प्रोग्राम स्ट्रिंग लें और mysqld_safe बदलें करने के लिए mysql.server start और कमांड चलाओ। मेरे मामले में, मैंने इसे चलाकर किया:

/usr/local/opt/mariadb/bin/mysql.server start

यह सफलता लौटाएगा! अगर सेवा सफलतापूर्वक शुरू होती है। अन्यथा, आपको त्रुटि लॉग की जांच करनी होगी (/usr/local/var/mysql में था) फ़ोल्डर मेरे लिए) यह पता लगाने के लिए कि क्या गलत हुआ और कुछ गुगली करके इसे हल करें।

और यह बहुत अधिक है, अब आप डेटाबेस का बैकअप ले सकते हैं जैसा कि आप सामान्य रूप से करते हैं। मैं इसे चलाकर करता हूं:

mysql -u root -p<password>
show databases

और यह सभी डेटाबेस की एक सूची देगा। और फिर प्रत्येक डेटाबेस के लिए बैकअप कमांड निष्पादित करें जिसे आप बैकअप करना चाहते हैं:

mysqldump -u root -p<password> dbname > dbname.sql

और यह काफी हद तक कैसे किया जाता है। और मैंने डेटाबेस को अपने लैपटॉप पर एयरड्रॉप कर दिया और किया गया।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में एटीएएन () कैसे काम करता है

  2. मारियाडीबी में TRIM () और TRIM_ORACLE () के बीच अंतर

  3. कैसे QUOTE () मारियाडीबी में काम करता है

  4. मारियाडीबी में डेटाबेस कोलेशन प्राप्त करने के 4 तरीके

  5. मारियाडीबी क्लस्टर का उपयोग करके अमेज़ॅन एडब्ल्यूएस पर एक हॉट स्टैंडबाय बनाना