2009-08-18 19 views
18

मैं जेएसबीसी का उपयोग MySQL से कनेक्ट करने के लिए करता हूं। जब यह localhost:3306 पर है, तो सब कुछ ठीक है।MySQL सर्वर से कनेक्ट क्यों धीमा है?

लेकिन जब मैं इंट्रानेट में अपने कंप्यूटर को दूसरे कंप्यूटर पर ले जाता हूं, और MySQL डेटाबेस से कनेक्ट करने के लिए <Intranet-IP>:3306 का उपयोग करता हूं, तो MySQL को सफलतापूर्वक कनेक्ट करने में लगभग 1 मिनट लगते हैं। इसके साथ क्या चल रहा है?

उत्तर

32

वैसे यह एक DNS समस्या हो सकती है। आप कॉन्फ़िगरेशन फ़ाइल में --skip-name-resolve विकल्प के साथ mysqld प्रारंभ करके DNS होस्ट नाम लुकअप अक्षम कर सकते हैं।

अधिक जानकारी के लिए यहां पढ़ें: http://dev.mysql.com/doc/refman/5.0/en/host-cache.html

+0

बहुत बहुत धन्यवाद! – MemoryLeak

+0

मुझे यह समस्या थी और वास्तव में यह एक रिवर्स डीएनएस समस्या – acemtp

+12

बस स्पष्ट होने के लिए, '--skip-name-resol' को mysql शुरू करते समय कमांड लाइन विकल्प के रूप में उपयोग किया जाएगा, जबकि' skip-name-resol' ' फ्रंट में डबल हाइफ़न के बिना) कॉन्फ़िगरेशन फ़ाइल में उपयोग किया जाएगा। – JYelton

1

फ़ायरवॉल, इंटरनेट, रूटिंग इत्यादि आपके कनेक्शन को धीमा कर देते हैं।

आपको अपने डेटाबेस को इंट्रा नेट पर रखना चाहिए। इसे स्थानीय और अपने बड़े फ़ायरवॉल के पीछे रखें। आप निश्चित रूप से कंप्यूटर के बीच फ़ायरवॉल और सुरक्षा कर सकते हैं। मैं अनुशंसा करता हूं कि आपने इंटरनेट पर अपने mysql डेटाबेस कनेक्शन का खुलासा नहीं किया है।

+0

यह एक इंट्रानेट आईपी है! – MemoryLeak

+0

आह, मैं देखता हूं कि आपने अपना प्रश्न संपादित किया :) यह देखने के लिए अच्छा है कि आपको अपने प्रश्न का उत्तर मिला है। – Makach

7

मेरे लिए यह इस समाधान मैं यहां पाया, ip6 कनेक्टिविटी सक्षम है, तो था, कनेक्शन "स्थानीय होस्ट" धीमा हो सकता है के लिए, बजाय 127.0.0.1 IP पते का उपयोग,। यह मेरे लिए काम किया।

my mysql slow to connect problem was solved by this solution

+0

धीमी MediaWiki स्थापना की समस्या निवारण करते समय इस समस्या को नोटिस किया गया। mysql_connect लगभग एक सेकंड ले रहा था। स्थानीयहोस्ट से 127.0.0.1 तक कॉन्फ़िगरेशन बदल दिया और 1021ms से 7ms तक चला गया। धन्यवाद! – jmgardn2

+0

धन्यवाद! यह सिर्फ एक समस्या प्रश्न हल किया मैंने पोस्ट किया। कौन जानता था आईपीवी 6 हाल ही में MySQL संस्करणों के साथ गड़बड़ होगा। –

11

--skip-name-resolve मेरे लिए महान काम किया।

यह स्थायी बनाने के लिए, मैं सिर्फ [mysql] खंड में फ़ाइल my.ini के अंत में इस पंक्ति जोड़ें:

skip-name-resolve 

और देखा! लेनदेन अब उड़ते हैं!

संबंधित मुद्दे