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

SSH टनल पर MySQL सर्वर को दूरस्थ रूप से एक्सेस करें

हम MySQL को SSH टनल से कनेक्ट करके रिमोट सिस्टम पर सुरक्षित रूप से MySQL एक्सेस कर सकते हैं। यह ट्यूटोरियल विंडोज़ पर पुट्टी और लिनक्स सिस्टम पर एसएसएच का उपयोग करके एसएसएच सुरंग पर MySQL सर्वर से दूरस्थ रूप से कनेक्ट करने के लिए आवश्यक कदम प्रदान करता है। यह दिखाता है कि MySQL के लोकल पोर्ट यानी 3306 को MySQL के रिमोट पोर्ट यानी 3306 को रिमोट सिस्टम के SSH पोर्ट 22 के जरिए कैसे फॉरवर्ड किया जाए। यह सुनिश्चित करता है कि हम स्थानीय पोर्ट 3306 को दूरस्थ सर्वर पर पोर्ट 3306 से जोड़कर, पोर्ट 22 पर रिमोट सर्वर से सुरक्षित रूप से संचार कर रहे हैं।

आवश्यकताएं

एक दूरस्थ सर्वर जिसमें MySQL सर्वर स्थापित है। आप उबंटू 20.04 एलटीएस पर MySQL 8 कैसे स्थापित करें का अनुसरण कर सकते हैं।

साथ ही, सुनिश्चित करें कि पोर्ट 22 खुला है और पोर्ट 3306 MySQL सर्वर वाले रिमोट सिस्टम पर फ़ायरवॉल द्वारा अवरुद्ध है। यह ट्यूटोरियल यह भी मानता है कि MySQL सर्वर स्थानीय सिस्टम पर नहीं चल रहा है। यह सुनिश्चित करता है कि स्थानीय सिस्टम पर पोर्ट 3306 पोर्ट फ़ॉरवर्डिंग के लिए मुफ़्त है।

हमें उस सिस्टम तक एसएसएच एक्सेस की भी आवश्यकता है जिस पर MySQL सर्वर स्थापित और चल रहा है। हम या तो SSH उपयोगकर्ता नाम और पासवर्ड का उपयोग कर सकते हैं या SSH उपयोगकर्ता नाम और कुंजी रिमोट सिस्टम से कनेक्ट करने के लिए।

Windows 10 पर पुट्टी इंस्टॉल करें

रिमोट सर्वर पर स्थापित MySQL सर्वर तक पहुंचने के लिए हम विंडोज सिस्टम पर पुट्टी का उपयोग कर सकते हैं। यदि आप Linux आधारित सिस्टम का उपयोग कर रहे हैं, तो आप SSH अनुभाग में जा सकते हैं।

चित्र 1 में हाइलाइट किए गए MSI इंस्टॉलर को डाउनलोड करने के लिए पुट्टी का आधिकारिक डाउनलोड पेज खोलें।

चित्र 1

हम पुट्टी निष्पादन योग्य को स्थापित किए बिना भी उपयोग कर सकते हैं। निष्पादन योग्य फ़ाइल डाउनलोड करने के लिए डाउनलोड पृष्ठ को नीचे स्क्रॉल करें।

अब पुट्टी लॉन्च करें। पुट्टी के डिफ़ॉल्ट विकल्प चित्र 2 के समान होने चाहिए।

चित्र 2

पुट्टी का उपयोग करके MySQL से सुरक्षित कनेक्शन

यह खंड रिमोट सिस्टम से एसएसएच सुरंग पर MySQL से सुरक्षित रूप से कनेक्ट करने के लिए पुट्टी का उपयोग करने के लिए कदम प्रदान करता है। अब दूरस्थ होस्ट विवरण भरें जैसा कि चित्र 3 में दिखाया गया है।

चित्र 3

साथ ही, कनेक्शन . क्लिक करें -> एसएसएच -> सुरंगों जैसा कि चित्र 3 में हाइलाइट किया गया है। अब SSH पोर्ट फ़ॉरवर्डिंग विवरण भरें जैसा कि चित्र 4 में दिखाया गया है। स्रोत पोर्ट को 3306 पर सेट किया जाना चाहिए। और गंतव्य को 127.0.0.1:3306 . पर सेट किया जाना चाहिए ।

चित्र 4

जोड़ें बटन . क्लिक करें सोर्स पोर्ट और डेस्टिनेशन भरने के बाद। यह अग्रेषित पोर्ट को अपडेट करेगा जैसा कि चित्र 4 में दिखाया गया है। साथ ही, प्रामाणिक विकल्प पर क्लिक करें और चित्र 5 में दिखाए अनुसार SSH कुंजी चुनें। सुनिश्चित करें कि आपने Puttygen का उपयोग करके निजी कुंजी उत्पन्न की है।

चित्र 5

अब ओपन बटन . क्लिक करें कनेक्शन खोलने के लिए। यह पहली बार सुरक्षा अलर्ट दिखाएगा जैसा कि चित्र 6 में दिखाया गया है।

चित्र 6

हां बटन क्लिक करें कनेक्शन स्वीकार करने के लिए। यदि आपने निजी कुंजी उत्पन्न करते समय सेट किया है तो यह पासफ़्रेज़ के लिए पूछेगा। एक सफल कनेक्शन पर, यह रिमोट सिस्टम विवरण दिखाएगा जैसा कि चित्र 7 में दिखाया गया है।

चित्र 7

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

चित्र 8

अब प्लस आइकन . क्लिक करें एक नया स्थानीय कनेक्शन बनाने के लिए जैसा कि चित्र 8 में हाइलाइट किया गया है। यह चित्र 9 में दिखाए गए अनुसार कनेक्शन जोड़ने के विकल्प दिखाएगा।

चित्र 9

एक कनेक्शन नाम प्रदान करें, और होस्टनाम को 127.0.0.1 और पोर्ट को 3306 के रूप में रखें जैसा कि चित्र 9 में दिखाया गया है। अब SSH सुरंग पर दूरस्थ MySQL सर्वर से कनेक्शन का परीक्षण करने के लिए परीक्षण कनेक्शन पर क्लिक करें। यदि आपने इसे तिजोरी में संग्रहीत नहीं किया है तो यह पासवर्ड के लिए पूछेगा जैसा कि चित्र 10 में दिखाया गया है।

चित्र 10

अब पासवर्ड भरें और OK बटन . पर क्लिक करें कनेक्शन का परीक्षण करने के लिए। इसे कनेक्शन की सफलता पर एक सफलता संदेश दिखाना चाहिए जैसा कि चित्र 11 में दिखाया गया है।

चित्र 11

अब ठीक बटन क्लिक करें कनेक्शन संदेश बंद करने के लिए और फिर से ठीक बटन . क्लिक करें कनेक्शन विज़ार्ड बंद करने के लिए। यह कनेक्शन लाइब्रेरी से कनेक्शन जोड़ देगा जैसा कि चित्र 12 में दिखाया गया है।

चित्र 12

अब नए जोड़े गए कनेक्शन पर क्लिक करें। इसे दूरस्थ सर्वर से कनेक्ट करना चाहिए और दूरस्थ MySQL सर्वर के डेटाबेस को सूचीबद्ध करना चाहिए जैसा कि चित्र 13 में दिखाया गया है।

चित्र 13

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

SSH का उपयोग करके MySQL से सुरक्षित कनेक्शन

हम नीचे दिखाए गए अनुसार SSH कमांड का उपयोग करके स्थानीय पोर्ट 3306 को दूरस्थ पोर्ट 3306 पर अग्रेषित करके दूरस्थ MySQL सर्वर से कनेक्ट कर सकते हैं। पिछले अनुभाग के समान, सुनिश्चित करें कि स्थानीय पोर्ट 3306 मुफ़्त है।

नोट :नीचे दिए गए आदेशों का परीक्षण उबंटू डेस्कटॉप पर किया गया है। अन्य Linux सिस्टम पर चरण और आदेश समान होने चाहिए।

# Shutdown local MySQL - Else use a different local port
sudo service mysql stop

# Install MySQL Client - If required
sudo apt install mysql-client

# Port Forwarding - Command
ssh -N -L 3306:127.0.0.1:3306 [USER]@[SERVER_IP]
# OR
ssh -N -L 3306:127.0.0.1:3306 -i [SSH Key] [USER]@[SERVER_IP]

# Port Forwarding - Example
ssh -N -L 3306:127.0.0.1:3306 [email protected]
# OR
ssh -N -L 3306:127.0.0.1:3306 -i example.pem [email protected]

उपर्युक्त कमांड SSH टनल को खोलते हैं और लोकल पोर्ट 3306 को रिमोट पोर्ट 3306 से कनेक्ट करते हैं। अब हम MySQL क्लाइंट का उपयोग करके रिमोट MySQL सर्वर से कनेक्ट कर सकते हैं। आप स्थानीय सिस्टम पर स्थापित MySQL वर्कबेंच का उपयोग करने के लिए पिछले अनुभाग का उल्लेख कर सकते हैं।

साथ ही, SSH सुरंग को खोलने और दूरस्थ MySQL सर्वर से कनेक्ट करने के लिए चित्र 14 और चित्र 15 देखें।

चित्र 14

चित्र 15

सारांश

इस ट्यूटोरियल ने विंडोज और लिनक्स सिस्टम के लिए SSH टनल पर दूरस्थ MySQL सर्वर से कनेक्ट करने के लिए आवश्यक कदम प्रदान किए।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL केवल कॉलम पर अधिकतम मान वाली पंक्तियों का चयन करता है

  2. MySQL में एक Python datetime.datetime ऑब्जेक्ट सम्मिलित करना

  3. उच्च उपलब्धता के लिए MySQL के लिए Percona सर्वर कैसे परिनियोजित करें

  4. त्रुटि 1044 (42000):उपयोगकर्ता ''@'लोकलहोस्ट' के लिए डेटाबेस 'डीबी' तक पहुंच अस्वीकृत

  5. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:संचार लिंक विफलता