पोर्ट 3306 मेरे उबंटू सर्वर पर बंद हुआ प्रतीत होता है


33

मेरे पास दो VPS सर्वर हैं, और दोनों में MySQL स्थापित है, एक परीक्षण के लिए और एक विकास के लिए। मेरा एक सर्वर मुझे बाहर से कनेक्ट नहीं होने देगा। उपयोगकर्ता के साथ;

'Mytestuser' @ '%'

एक ओपन पोर्ट फाइंडर के अनुसार , ऑफ़ेंडिंग सर्वर के लिए पोर्ट 3306 बंद होना प्रतीत होता है। मेरे पास बिना किसी मुद्दे के मनमाने ढंग से बंदरगाहों पर मेरी खुद की C ++ और जावा कार्यक्रम हैं। यह क्यों हो रहा है और मैं इसे कैसे ठीक कर सकता हूं?

उबंटू स्थापित उबंटू 11.10 (GNU / Linux 2.6.32-042stab072.10 x86_64) है

netstat -tupleप्रत्येक सर्वर पर परिणाम

बंद सर्वर

tcp        0      0 localhost.lo:submission *:*                     LISTEN      root       39967664    -

काम करने वाला सर्वर

tcp        0      0 *:mysql                 *:*                     LISTEN      mysql      1847519288  -

जवाबों:


76

समस्या यह थी कि सर्वर केवल आंतरिक रूप से सुन रहा था।

समस्या bind-address 127.0.0.1को /etc/mysql/my.cnfहल करने से लाइन को हटाना ।

उबंटू के नए संस्करणों (.0416.04) में यह लाइन हो सकती है /etc/mysql/mysql.conf.d/mysqld.cnf


2
इसने मेरे लिए काम किया। ध्यान दें कि सही फ़ाइल नाम है /etc/mysql/my.cnf, नहीं /etc/mysql/my.conf
लैरी बैटल

मैंने सर्वर के बाहरी आईपी पते से मिलान करने के लिए अपना बाइंड-पता बदल दिया और मेरे लिए काम किया।
बुटिक बटुकस

लाइन को पूरी तरह से हटा दें और सर्वर सभी इंटरफेसों को
सुनेगा

आपने मेरा दिन बचाया, कुछ हफ़्ते के लिए इस मुद्दे को हल करने की कोशिश कर रहे थे, धन्यवाद!
नवदंपति

9

मेरा सुझाव, यदि आप सुनिश्चित हैं कि पोर्ट बंद हैं (मुझे एक वीपीएस के लिए यह अजीब लगता है कि पोर्ट बंद है) दूसरे का उपयोग करने के लिए MySQL की कॉन्फ़िगरेशन फ़ाइल को बदलना है।

बस टर्मिनल में कॉन्फ़िगरेशन फ़ाइल खोलें sudo nano /etc/mysql/mysql.conf, और [mysqld]अनुभाग देखें। इसमें, उस रेखा को देखें जो पढ़ती है port = 3306। इसे उपयोग न किए गए दूसरे पोर्ट में बदलें और फाइल को सेव करें।

तो बस या तो वीपीएस को पुनरारंभ करें या सेवा को पुनरारंभ करें, जैसे sudo service mysql restart

बस यह नोट करने के लिए, यदि फ़ाइल mysql.confमेरे द्वारा बताए गए में नहीं है , तो यह अन्य जगहों पर भी हो सकती है:

/etc/my.conf
/etc/my.cnf
/etc/mysql/my.conf

और अगर serviceकमांड काम नहीं करता है, तो यह करें:

sudo /etc/init.d/mysql restart

यदि समस्या बनी रहती है, तो मेरे मामले में मैं iptables की जांच करूंगा (मैं वास्तव में iptables में सब कुछ हटा दूंगा यदि यह एक विकल्प हो सकता है तो ताजा शुरू करने के लिए) या किसी भी अन्य फ़ायरवॉल-सक्षम विकल्प।

चूंकि वे वीपीएस हैं, मैं यह देखने के लिए वीपीएस कंट्रोल पैनल की भी जांच करूंगा कि क्या इसका कोई विकल्प है जो बंदरगाहों को ब्लॉक कर सकता है।

इसके अलावा, मैं यह nmapदेखने के लिए कि आपके द्वारा खोले गए पोर्ट्स VPS पर चलेंगे । आपको वीपीएस के बाहर से यह देखने की जरूरत है कि उन्होंने क्या पोर्ट खोले हैं।

netstat -tuplen यह भी देखने के लिए एक अच्छा विचार है कि आपके पास सर्वर पर कौन से खुले हुए पोर्ट हैं और कौन से लिस्टेन मोड में हैं।


अरे, मैंने इसे दूसरे पोर्ट पर आज़माया और इसका अभी भी मिस बिहेव कर रहा हूं, मैंने 'iptables--A INPUT -i eth0 -p tcp -m tcp --dport PORT -j ACCEPT' भी आज़माया, लेकिन कोई किस्मत नहीं है :( संपादित करें o o नहीं eth0 .. स्टिल की उम्मीद हो सकती है।
एंडी

@ और कुछ और सुझावों को शामिल करने के लिए अद्यतित उत्तर।
लुइस अल्वारादो

लुइस मैं इस पर ध्यान देंगे सुझाव के लिए धन्यवाद।
एंडी

मैंने netstat -tuple के परिणामों को प्रश्न में अद्यतन किया है। लगता है कि यहां एक मुद्दा है।
एंडी

6

मैं बदल कर इस तय bind-address 127.0.0.1करने bind-address 0.0.0.0में /etc/mysql/mysql.conf.d(सभी बंदरगाहों पर कि इतने MySQL सुनता)।

इसके अलावा, मैं दूर से उपयोग किए जाने के लिए एक mysql उपयोगकर्ता खाता सेट करता हूं (देखें https://stackoverflow.com/a/24171107/132374 )।


6

मैं इस विधि का उपयोग करता हूं:

sudo ufw status
sudo ufw allow XXXX/tcp
# use a port other than the default/predictable 3306
# work outside, and close the door when you are done
sudo ufw deny XXXX/tcp

अन्य कॉन्फ़िगरेशन फ़ाइलों को बदलने की आवश्यकता नहीं है, और डिफ़ॉल्ट रूप से कोई अतिरिक्त पोर्ट नहीं खोला गया है।


sudo ufw allow 3306/tcpमैं संपादित करने की कोशिश की लेकिन मुझे नहीं जाने देंगे
एडम

1

ऐसा हो सकता है कि आपका कॉन्फ़िगरेशन निर्देशिका में है /etc/mysql/mysql.conf.d/mysqld.cnf, सत्यापित करें कि ऐसा नहीं है।


1
मैं इसे देखने से पहले तीन घंटे तक इसे जानने की कोशिश कर रहा था, धन्यवाद!
ओलिवर नी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.