2010-05-04 12 views
10

मैं बैकअप के लिए mysqldump का उपयोग कैसे कर सकता हूं और दूरस्थ सर्वर पर डेटाबेस को पुनर्स्थापित कैसे कर सकता हूं?mysqldump बैकअप और रिमोट सर्वर पर पुनर्स्थापित करें

दोनों में रूट पहुंच है। मैं इसे करने के लिए पट्टी का उपयोग कर रहा हूँ।

अब तक मैं निम्नलिखित की कोशिश की:

mysqldump -u root -p >z*[email protected] masdagn_joom15 | mysql \ -u root -p g2154hE6-AsXP --host=207.210.71.26 -C masdagn_joom15temp \g 

लेकिन यह इनकार कर दिया

स्थानीय पासवर्ड है:> जेड * x311a @

दूरस्थ पासवर्ड है: g2154hE6-AsXP

+10

भविष्य नोटिस के लिए, मैं सार्वजनिक रूप से अपने डेटाबेस साख पोस्ट करने के बारे में सावधान रहना होगा। आशा है कि आपने उन्हें बदल दिया है! –

उत्तर

8

यह link का बैकअप लेने और mysqldump के साथ बहाल करने के बारे में जानकारी प्रदान करता है। यह रिमोट सर्वर के साथ कुछ उदाहरण भी देता है।

उस लिंक किया जा रहा से महत्वपूर्ण आदेशों:

बैकअप:

mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql 

बहाल:

mysql -u root -p[root_password] [database_name] < dumpfilename.sql 
+1

मैं वास्तव में इस उपयोग कर रहा हूँ, लेकिन जब मैं आदेश mysqldump दर्ज यह मुझे कुछ भी नहीं केवल कमांड प्रॉम्प्ट फिर से देता है – manhag

2
mysqldump --user=username --password=pwd db_name | bzip2 -c > /backup_dir/db_name.sql.bz2 

आप इस भाग को एक स्क्रिप्ट में एम्बेड कर सकते हैं, इसके बाद आप एथेंस का उपयोग ओथ में स्थानांतरित करने के लिए कर सकते हैं आर स्थान

, पुनर्स्थापित करने के लिए आप कर सकते हैं

bzip2 -d db_name.sql.bz2 
mysql --user=username --password=pwd db_name < db_name.sql 
1

अपने स्थानीय पासवर्ड > चरित्र है, जो के रूप में व्याख्या की है शामिल अधिकांश गोले द्वारा redirect character। एक सामान्य नियम के रूप में, यदि आप अपना MySQL पासवर्ड अल्फान्यूमेरिक [A-Za-z0-9] रखते हैं तो यह आपके जीवन को काफी आसान बना देगा। और अगर आप सार्वजनिक रूप से अपने पासवर्ड पोस्ट करने से बचें तो यह आपके सिस्टम को और अधिक सुरक्षित बनाएगा।

1
[local-server]# mysqldump -u root -prootpswd db | mysql \ 
       -u root -ptmppassword --host=remote-server -C db1 

[नोट: वहाँ दो हैं - मेजबान के सामने (हाइफन)]

कृपया ध्यान दें कि आप पहली बार के लिए निम्न आदेश निष्पादित करने से पहले रिमोट सर्वर पर DB1 डेटाबेस बनाना चाहिए।

0

यहाँ क्या मैं एक दूरस्थ सर्वर के लिए एक त्वरित डंप के लिए करते हैं ... संभालने आप सेटअप है कि 2 सर्वर के बीच ssh कुंजी

  • फ़ाइल dump-to-server.sh
  • बनाने है
  • chmod एक्ज़िक्यूटेबल में (chmod 0755 dump-to-server.sh)
  • चलाने अपना समन्वयन ./dump-to-server.sh schema_name [email protected]

डंप-टी o-server.sh

\#!/bin/bash 

if [[ -z "$1" || -z "$2" ]]; then 
    echo "--------- usage ---------"; 
    echo "./dump-to-server.sh schema_name [email protected]"; 
    echo ""; 
else 
    mysqldump --opt "$1" | gzip -c | ssh "$2" "gunzip -c | mysql $1" 
fi 
संबंधित मुद्दे