MySQLldump 3 सर्वर नक्षत्र में netcat के माध्यम से - mysql, खोल, mysqldump, netcat

मेरे पास निम्नलिखित परिदृश्य है:

  • सर्वर ए: MySQL डेटाबेस सर्वर, केवल mysql (पोर्ट 3306) के माध्यम से कनेक्शन, कोई खोल पहुँच, कोई रूट नहीं
  • सर्वर बी: www फ्रंटएंड सर्वर (nginx), कोई mysql / mysqldump; सर्वर ए से कनेक्ट हो सकता है, खोल पहुंच है, कोई रूट नहीं है
  • सर्वर सी: शेल एक्सेस, mysql, mysqldump के साथ रूट सर्वर

सर्वर ए से डेटाबेस डंप करने के लिए सर्वर सी पर mysqldump का उपयोग करने का कोई तरीका है?

उत्तर:

उत्तर № 1 के लिए 1

आप सर्वर बी पर ssh लॉगिन का उपयोग कर सर्वर सी पर mysql पोर्ट को सुरंग कर सकते हैं, ऐसा कुछ:

server_c$ ssh -L7777:server_a:3306 server_b
# keep that connection hanging for the sake of tunnel
server_c$ mysqldump --host=127.0.0.1 --port=7777

इस तरह आप सर्वर_ए: 3306 से कनेक्ट हो जाएंगे, सर्वर सी पर क्लाइंट चला रहे हैं, सर्वर बी के माध्यम से सुरंग। "7777" बस कुछ यादृच्छिक मुफ्त पोर्ट है।


जवाब के लिए 0 № 2

एनजीआईएनएक्स प्लस आर 5 में टीसीपी लोड संतुलन विशेषताएं हैं जिनका आप उपयोग कर सकते हैं या आप इसका उपयोग कर सकते हैं https://github.com/yaoweibin/nginx_tcp_proxy_module पुराने संस्करणों के लिए। सर्वर बी पर आप कुछ ऐसा करते हैं:

stream {

upstream backend {
server a.example.com:3306;
}

server {
listen 3306;
proxy_pass backend;
}
}

and that would allow you to use mysql सर्वर C की ओर b.example.com:3306 जो आपको सर्वर ए के लिए प्रॉक्सी करेगा।


संबंधित सवाल
सबसे लोकप्रिय