EC2

2012-05-27 21 views
8

से कनेक्ट करने के बारे में मुद्दे मैं वर्तमान में अमेज़ॅन ईसी 2 (एएमआई लिनक्स) + MySQL का उपयोग कर रहा हूं, और अब मैं सी # सामान पर काम कर रहा हूं।EC2

मैं इस तरह कोड लिखा है:

 MySqlConnection DBConn = new MySqlConnection(); 
     DBConn.ConnectionString = "Server=ec2-**.compute-1.amazonaws.com;Database=****;uid=root;password=****;port=3306;charset=utf8"; 

     try 
     { 
      DBConn.Open(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("connecting fail"); 
     } 

लेकिन किसी कारण से, जब मैं इस चलाने के लिए, यह एक 'असफल जोड़ने' त्रुटि उत्पन्न करता है।

मैं googled और पता लगा मैं निर्धारित करने की आवश्यकता है कि "सभी विशेषाधिकार देते हैं *। * जड़ को @ 'स्थानीय होस्ट'"

तो, मुझे लगता है कि किया!

लेकिन यह अभी भी काम नहीं करता है। मुझे लगता है कि मैंने हालांकि सभी चरणों का पालन किया।

  • मैं दृश्य स्टूडियो पल 2008 & Windows7 पर काम कर रहा हूँ।

  • मैंने त्रुटि की जांच की और ऐसा लगता है कि यह एक टाइमआउट त्रुटि है। मुझे लगता है कि यह फ़ायरवॉल चीज है लेकिन मुझे नहीं पता कि मुझे क्या करना चाहिए। मैंने अपना सुरक्षा समूह सेट किया है ताकि टीसीपी बंदरगाह सभी (सहित MySQL) के लिए खोले जा सकें। यह अभी भी काम नहीं कर रहा है। जिस तरह से इस समस्या का समाधान नहीं है कि करने के लिए;? ( हालांकि, बात यह है कि मैं के बारे में उत्सुक हूँ कि मैं MySQL कार्यक्षेत्र उपयोग करने से पहले मैं सुरक्षा समूह सेट डेटाबेस के लिए पहुँच सकता है

क्षमा करें कि। मैं ईसी 2 के लिए बिल्कुल नया हूं।

+1

फ़ायरवॉल की जांच करें। –

+2

क्या आप कोशिश पकड़ने को पुनः प्राप्त कर सकते हैं, अपवाद को आग लगाना और त्रुटि पेस्ट करना और ट्रेस – reach4thelasers

+0

जैसा कि नोट किया गया है, फ़ायरवॉल एनडी (क्योंकि यह ec2 है) जांचें कि पोर्ट आपके सुरक्षा समूह में भी खुला है। – Joe

उत्तर

0

1) आपको अपने सर्वर पर aws कंसोल के माध्यम से MySQL पोर्ट खोलना चाहिए। आप इसे आरडीएस अनुभाग पर डीबी सुरक्षा समूहों पर जाकर क्लिक करके कर सकते हैं, और केवल सीआईडीआर डाल सकते हैं: 0.0.0.0/0 परीक्षण करने के लिए आप जुड़े हुए हैं और स्थिति अधिकृत है। फिर आप यह निर्दिष्ट करने के लिए नियमों को पुनर्व्यवस्थित कर सकते हैं कि कौन सा आईपी कनेक्ट हो सकता है।
2) आपको MySQL कनेक्टर का उपयोग सी # से MySQL से कनेक्ट करने के लिए करना चाहिए।

Server=yourdburl; 
Database=yourdb; 
Uid=yourdbuser; 
Pwd=yourdbuserpassword; 
charSet=utf8; 

3 एक सही लगता है, तो आप 1 और 2 मामलों की जांच होनी चाहिए:
Mysql Connector Link
3) आपका कनेक्शन स्ट्रिंग की तरह होना चाहिए।

0

आपको उस एनआईआई पर VPC Flow Logs चालू करना चाहिए ताकि यह देखने के लिए कि उस इंटरफ़ेस पर कनेक्शन स्वीकार किया जा रहा है या अस्वीकार कर दिया गया है। उच्च संभावना है कि आपके सुरक्षा समूह सही नहीं हैं, जैसा कि गैंडिल ने उल्लेख किया है।