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

MySQL बैकअप सुरक्षित करना:एक गाइड

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

आपको अपने MySQL बैकअप क्यों सुरक्षित करने चाहिए?

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

  1. अपने MySQL बैकअप सुरक्षित रूप से लें

  2. अपने MySQL बैकअप को सुरक्षित रूप से संग्रहित करें

  3. अपने MySQL बैकअप को सुरक्षित रूप से स्थानांतरित करें

अब स्पष्ट रूप से कहा गया है कि करना आसान है, लेकिन हम कुछ सामान्य सलाह प्रदान करेंगे जो आपको सही दिशा में मार्गदर्शन कर सकती हैं।

MySQL बैकअप सुरक्षित करना

  1. उदाहरण के लिए, mysqldump का उपयोग करके अपने MySQL बैकअप को सुरक्षित रूप से लेने के लिए, अपने उपयोगकर्ता नाम और पासवर्ड डालने पर विचार करें my.cnf के अंदर MySQL उपयोगकर्ता। आप अपनी होम निर्देशिका में एक .my.cnf फ़ाइल भी बना सकते हैं, वहां उपयोगकर्ता नाम और पासवर्ड स्टोर कर सकते हैं, फिर वैश्विक विकल्प फ़ाइल के बाद MySQL को इस फ़ाइल को पढ़ने के लिए कहने के लिए --defaults-extra-file विकल्प का उपयोग कर सकते हैं:

    [mysqldump]
    user=demo_user
    password=demo_password

    इस तरह आपको mysqldump चलाते समय अपना MySQL पासवर्ड प्रदान करने की आवश्यकता नहीं है - my.cnf के अंदर अपना उपयोगकर्ता नाम और पासवर्ड डालकर आप अपने पासवर्ड को डीबीए के अलावा किसी और के लिए देखने योग्य नहीं बनाते हैं।

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

  3. एक बार जब आप अपने MySQL या MariaDB डेटाबेस इंस्टेंस का बैकअप ले लेते हैं, तो इसे एन्क्रिप्ट करने पर विचार करें। संभावना है कि डेटा आपके संगठन के लिए सबसे कीमती संपत्तियों में से एक है और इसे एन्क्रिप्ट करके आप सुनिश्चित कर सकते हैं कि यह ठीक से सुरक्षित है। शुक्र है, MySQL बैकअप को एन्क्रिप्ट करना बहुत जटिल नहीं है और इसे कुछ तरीकों से किया जा सकता है जिसमें स्थानीय फ़ाइल को एन्क्रिप्ट करना और बैकअप को ऑन-द-फ्लाई एन्क्रिप्ट करना शामिल है। अपने बैकअप की स्थानीय प्रतिलिपि को एन्क्रिप्ट करने के लिए, बस MySQL में संग्रहीत डेटा का बैकअप लें, फिर इसे OpenSSL (पासवर्ड को उस पासवर्ड से बदलें जिसे आप उपयोग करना चाहते हैं) का उपयोग करके एन्क्रिप्ट करें:

    $ openssl enc -aes-256-cbc -salt -in backup.tar.gz -out backup.tar.gz.enc -k password

    आपके बैकअप को चलाकर डिक्रिप्ट किया जा सकता है:

    $ openssl aes-256-cbc -d -in backup.tar.gz.enc -out backup.tar.gz -k password


    आप अपने बैकअप को ऑन-द-फ्लाई एन्क्रिप्ट करने पर भी विचार कर सकते हैं। ऐसा करने के लिए, सामान्य रूप से आपको बैकअप उत्पन्न होने पर एन्क्रिप्शन को लागू करने की आवश्यकता होगी (यानी बैकअप उत्पन्न करें, इसे संपीड़ित करें और इसे एन्क्रिप्ट करें)। यहां बताया गया है कि MySQL के लिए mysqldump का उपयोग करके ऐसा कैसे करें (आपके बैकअप को एन्क्रिप्टेड_बैकअप.xb.enc कहा जाएगा):

    mysqldump --all-databases --single-transaction --triggers --routines | gzip | openssl  enc -aes-256-cbc -k password > encrypted_backup.xb.enc

    आप ClusterControl का उपयोग करके अपने बैकअप को एन्क्रिप्ट भी कर सकते हैं:बैकअप के अंतिम चरण में बस "कम्प्रेशन का उपयोग करें" और (या) "एन्क्रिप्शन सक्षम करें" बॉक्स चेक करें और आपका काम हो गया . हाँ, यह उतना ही आसान है!
     

आप mysql_secure_installation (या mariadb_secure_installation यदि आप MariaDB का उपयोग कर रहे हैं) नामक शेल स्क्रिप्ट पर भी एक नज़र डालना चाहेंगे। स्क्रिप्ट आपको इसके लिए सक्षम बनाती है:

  • MySQL के रूट खातों के लिए पासवर्ड सेट करें।

  • उन रूट खातों को हटा दें जो लोकलहोस्ट के बाहर से पहुंच योग्य हैं।

  • किसी भी अनाम उपयोगकर्ता खाते और परीक्षण डेटाबेस को हटा दें जिसे अनाम उपयोगकर्ताओं द्वारा एक्सेस किया जा सकता है।

यदि आप ClusterControl का उपयोग करके MySQL या MariaDB को परिनियोजित कर रहे हैं, तो कुछ ऐसा जो आप सामुदायिक संस्करण के साथ स्वतंत्र रूप से कर सकते हैं, परिनियोजन प्रक्रिया स्वचालित रूप से इन सुरक्षा उपायों का ध्यान रखती है।

सारांश

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में COUNT () फ़ंक्शन

  2. स्काईएसक्यूएल से अलर्ट और नोटिफिकेशन

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

  4. क्या MariaDB JDBC ड्राइवर Log4j भेद्यता से प्रभावित है?

  5. एक हाइब्रिड क्लाउड सेटअप में मारियाडीबी चलाना