2009-09-07 12 views
8

पर rsync का उपयोग करके मैं अपने mySQL डेटा को बैकअप नेटवर्क के भीतर एक मशीन पर बैकअप करने के लिए निम्न rsync कमांड का उपयोग करता हूं। यह उम्मीद के रूप में काम करता है।बैकअप MySQL

rsync -avz /mysql/ root:[email protected]:: /root/testme/ 

मैं बस यह सुनिश्चित करना चाहता हूं कि यह rsync का उपयोग करने का सही तरीका है।

मैं यह भी जानना चाहूंगा कि इसके लिए 5 मिनट क्रोंटैब प्रविष्टि काम करेगी या नहीं।

उत्तर

16
  1. इस के लिए दूरस्थ मशीन के root उपयोगकर्ता का उपयोग न करें। वास्तव में, रूट उपयोगकर्ता से सीधे कनेक्ट न करें, यह एक प्रमुख सुरक्षा रिसाव है। इस मामले में, बस कुछ विशेषाधिकारों के साथ एक नया उपयोगकर्ता है कि केवल बैकअप स्थान
  2. को लिख सकते हैं इस संबंध के लिए एक पासवर्ड का उपयोग न करें बनाने के लिए, लेकिन इसके बजाय का उपयोग public-key authentication
  3. सुनिश्चित करें कि MySQL जब आप ऐसा नहीं चल रहा है यह, या आप आसानी से भ्रष्ट बैकअप प्राप्त कर सकते हैं।
  4. MySQL चल रहा है, जबकि अपने डेटाबेस का एक डंप बनाने के लिए mysqldump का उपयोग करें। फिर आप उस डंप को सुरक्षित रूप से कॉपी कर सकते हैं।
5

मुझे वास्तव में आपके rsync कमांड के बारे में पता नहीं है, लेकिन मुझे यकीन नहीं है कि यह MySQL के साथ बैकअप बनाने का सही/सर्वोत्तम तरीका है; आपको शायद मैनुअल के इस पृष्ठ पर एक नज़र डालना चाहिए: 6.1. Database Backups

डीबी बैकअप जरूरी नहीं है जितना सरल हो सकता है, जैसे ताले, देरी लिखने, और जो भी अनुकूलन MySQL अपने डेटा के साथ कर सकता है .. विशेष रूप से यदि आपकी टेबल MyISAM इंजन का उपयोग नहीं कर रही हैं।

"5 मिनट crontab" के बारे में: आप हर पांच मिनट में यह बैकअप कर रहे हैं? यदि आपका डेटा समझदार है, तो आपको शायद किसी अन्य सर्वर के प्रतिकृति की तरह किसी अन्य चीज़ के बारे में सोचना चाहिए, हमेशा एक अद्यतित प्रतिलिपि रखना।

6

मुझे MySQL के बैकअप करने का एक बेहतर तरीका प्रतिकृति सुविधा का उपयोग करना है।

आपको अपने मास्टर के दास के रूप में बैकअप मशीन सेट अप करें। प्रत्येक लेनदेन स्वचालित रूप से प्रतिबिंबित होता है।

आप दास को भी बंद कर सकते हैं और टेप पर पूर्ण बैकअप कर सकते हैं। जब आप दास को पुनरारंभ करते हैं तो यह मास्टर के साथ फिर से सिंक्रनाइज़ होता है।

+1

यह केवल तभी काम करेगा यदि आपके पास मास्टर पर पूर्ण बिनलॉग हैं। कभी-कभी दास को थोड़ा स्टाइल बैकअप ('mysqldump --master-data' के साथ लिया जाता है) से बहाल करने के लिए सबसे अच्छा होता है, इसके बाद परिणामी डेटाबेस पूरा हो जाता है, यह सुनिश्चित करने के लिए' दास स्टार्ट 'होता है। –

+0

हां, अपने डेटाबेस को दूसरी मशीन पर डुप्लिकेट करें। फिर, जब आप गलती से पूरी तालिका या डेटाबेस हटाते हैं, तो आप बस अपने प्रतिकृति MySQL सर्वर पर जा सकते हैं और ... ओह बकवास। – Ernie

संबंधित मुद्दे