2010-06-07 20 views
119

मुझे दूरस्थ सर्वर पर डेटाबेस का एक mysqldump करने की आवश्यकता है, लेकिन सर्वर के पास MySQLldump स्थापित नहीं है। मैं अपने मशीन पर mysqldump का उपयोग दूरस्थ डेटाबेस से कनेक्ट करने और मेरी मशीन पर डंप करने के लिए करना चाहता हूं।स्थानीय मशीन से रिमोट डीबी mysqldump कैसे करें

मैंने एक एसएस सुरंग बनाने की कोशिश की है और फिर डंप करें, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। मैंने कोशिश की:

ssh -f -L3310:remote.server:3306 [email protected] -N 

सुरंग सफलता के साथ बनाई गई है। अगर मैं

telnet localhost 3310 

मुझे कुछ अस्पष्टता मिलती है जो सही सर्वर mysql संस्करण दिखाती है। हालांकि, निम्नलिखित कर के रूप में मैं यह serverfault पर अभी तक नहीं देखा है स्थानीय स्तर पर

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name 
+7

चूंकि यह प्रश्न प्रोग्रामिंग की तुलना में प्रशासन से अधिक संबंधित है, तो मैं कहूंगा कि http://serverfault.com/ पर दयालु लोग आपको बेहतर सहायता कर सकते हैं। – Piskvor

+0

[एमएसक्यूएल वर्कबेंच] (http://mysql.com/products/workbench/) 5.2.22 पर एक नज़र डालें। यह आपको आसानी से ऐसा करने की अनुमति देगा। – Gary

+0

नोट: रिमोट MySQL सर्वर को डंप करने के लिए, कृपया --host = sqlserver.host.name --port = 3306 – ro0ter

उत्तर

189

कनेक्ट करने का प्रयास करने लगता है, और जवाब काफी सरल है:

बदलें:

ssh -f -L3310:remote.server:3306 [email protected] -N 

करने के लिए :

ssh -f -L3310:localhost:3306 [email protected] -N 

और परिवर्तन:

mysqldump -P 3310 -h localhost -u mysql_user -p database_name table_name 

करने के लिए:

mysqldump -P 3310 -h 127.0.0.1 -u mysql_user -p database_name table_name 

संपादित (स्थानीय होस्ट का उपयोग नहीं करते, तो यह इन 'विशेष अर्थ' बकवास है कि शायद बंदरगाह से नहीं बल्कि उसके बाद सॉकेट से जोड़ता है में से एक है): अच्छी तरह से, करने के लिए विस्तृत: यदि मेजबान localhost पर सेट है, तो एक कॉन्फ़िगर (या डिफ़ॉल्ट) --socket विकल्प माना जाता है। the manual देखें जिसके लिए विकल्प फ़ाइलों की मांग/उपयोग किया जाता है। विंडोज के तहत, यह एक नामित पाइप हो सकता है।

+0

भयानक शामिल करें !! आकर्षण की तरह काम किया! – maths

+2

सावधान रहें: 'लोकलहोस्ट' अक्सर ':: 1' आईपीवी 6,' 127.0.0.1' 'पर डिफ़ॉल्ट नहीं है। –

5

आप दूरस्थ सर्वर के खिलाफ स्थानीय रूप से mysqldump का आह्वान कर सकते हैं।

उदाहरण है कि मेरे लिए काम किया होगा:

mysqldump -h hostname-of-the-server -u mysql_user -p database_name > file.sql 

मैं सिर्फ कनेक्शन विकल्प पर mysqldump documentation का पालन किया।

+0

मेरे लिए सबसे अच्छा और सबसे आसान जवाब। – andreshg112

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