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

Google कंप्यूट इंजन VM पर MySQL से दूरस्थ रूप से कनेक्ट करें

मुझे अभी-अभी अपनी समस्या का समाधान मिला है,

मुझे रास्ता बताने के लिए @Slava का विशेष धन्यवाद, आखिरकार यह iptables था।

इसलिए, दूरस्थ रूप से कनेक्ट करने का प्रयास करते समय मुझे "MySQL कनेक्शन से इनकार कर दिया" संदेश प्राप्त होता रहा, इसलिए मैंने टीसीपी कनेक्शन लॉग देखने का एक तरीका खोजा और मुझे tcpdump मिला। आदेश।

sudo tcpdump port 3306 -vvv -n running चलाकर हर बार जब मैंने दूरस्थ रूप से कनेक्ट करने का प्रयास किया तो मैंने निम्न आउटपुट देखा:

मैंने tcpdump मैन पेज खोजा और देखा कि R का अर्थ TCP RST (RESET) फ़्लैग के लिए है।

थोड़ी खोज की और पाया कि यह प्रश्न और इसके स्वीकृत उत्तर ने मुझे फिर से IPTABLES में ले जाया जो @Slava ने पहली टिप्पणी के बाद से सुझाया था।

तभी मैंने करीब से देखा और देखा कि मेरा इनपुट स्वीकार tcp:3306 REJECT TCP रिजेक्ट-विथ tcp-reset नियम के बाद परिभाषित किया गया था, इसलिए लॉग दिख रहा था।

इसके बाद मैंने tcp:3306 को स्वीकार करने के लिए नियम को हटा दिया और इसे अस्वीकार tcp नियमों और वॉयला के लिए तैयार कर दिया!

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -I INPUT {line number from the first reject tcp rule} -p tcp -m tcp --dport 3306 -j ACCEPT

IPTABLES अब इस तरह दिखता है और अंत में मैं MySQL से दूरस्थ रूप से जुड़ सकता हूं:

लाइन नंबर के साथ iptables को सूचीबद्ध करने के लिए टाइप करें:

sudo iptables -nL --line-numbers

अंतिम कठिनाइयाँ:

  • सुरक्षा मामलों के लिए जहां से आप रिमोट कनेक्शन बना रहे हैं, उस स्रोत आईपी पते को श्वेतसूची में डालकर इसे बेहतर बनाया जा सकता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP PDO और MySql का उपयोग करते समय IS NULL या NULL को बाइंड करें

  2. केकपीएचपी एचएबीटीएम डेटा की बचत

  3. Mysql में अक्षांश और देशांतर का उपयोग करके दो बिंदुओं के बीच की दूरी का पता लगाएं

  4. SQLite अनुरोध में strftime को MySQL में कनवर्ट करें

  5. phpMyAdmin SQL त्रुटि FIELDS के पास अपरिचित कीवर्ड: