तो, आपके पास एक
. है <ब्लॉकक्वॉट>
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:संचार लिंक विफलता
java.net.ConnectException:कनेक्शन अस्वीकृत
मैं इस उत्तर से उद्धृत कर रहा हूं जिसमें चरण-दर-चरण MySQL+JDBC ट्यूटोरियल भी शामिल है:
<ब्लॉकक्वॉट>
अगर आपको SQLException: Connection refused
मिलता है या Connection timed out
या एक MySQL विशिष्ट CommunicationsException:
Communications link failure
, तो इसका मतलब है कि डीबी बिल्कुल भी उपलब्ध नहीं है। इसके निम्न में से एक या अधिक कारण हो सकते हैं:
- JDBC URL में IP पता या होस्टनाम गलत है।
- JDBC URL में होस्टनाम स्थानीय DNS सर्वर द्वारा मान्यता प्राप्त नहीं है।
- जेडीबीसी यूआरएल में पोर्ट नंबर गुम या गलत है।
- डीबी सर्वर डाउन है।
- DB सर्वर TCP/IP कनेक्शन स्वीकार नहीं करता है।
- DB सर्वर के कनेक्शन समाप्त हो गए हैं।
- जावा और डीबी के बीच में कुछ कनेक्शन अवरुद्ध कर रहा है, उदा। फ़ायरवॉल या प्रॉक्सी।
एक या दूसरे को हल करने के लिए, निम्नलिखित सलाह का पालन करें:
ping
के साथ उन्हें सत्यापित और परीक्षण करें ।- DNS को रीफ्रेश करें या इसके बजाय JDBC URL में IP पते का उपयोग करें।
my.cnf
. के आधार पर इसे सत्यापित करें MySQL डीबी का।- डीबी प्रारंभ करें।
- सत्यापित करें कि क्या mysqld को
--skip-networking option
के बिना शुरू किया गया है । - डीबी को पुनरारंभ करें और तदनुसार अपना कोड ठीक करें कि यह
finally
में कनेक्शन बंद कर देता है । - फ़ायरवॉल अक्षम करें और/या पोर्ट को अनुमति/अग्रेषित करने के लिए फ़ायरवॉल/प्रॉक्सी कॉन्फ़िगर करें।
यह भी देखें:
- सर्वलेट आधारित एप्लिकेशन में मुझे JDBC डेटाबेस / डेटा स्रोत से कैसे जुड़ना चाहिए?
- क्या मल्टीथ्रेडेड सिस्टम में स्थिर java.sql.Connection इंस्टेंस का उपयोग करना सुरक्षित है?