अधिकांश वास्तविक दुनिया के अनुप्रयोग डेटाबेस में डेटा बनाए रखते हैं। इसलिए यह जानना महत्वपूर्ण है कि अपने एप्लिकेशन को डेटाबेस से कैसे जोड़ा जाए और इससे डेटा कैसे प्राप्त किया जाए।
MySQL डेटाबेस के लिए एक उत्कृष्ट विकल्प है। इसका उपयोग करना आसान है, व्यापक समर्थन है, और यह सबसे लोकप्रिय रिलेशनल डेटाबेस में से एक है।
शुरू करने से पहले
चूंकि आप स्थानीय MySQL सर्वर पर कनेक्शन कोड का परीक्षण कर रहे होंगे, इसलिए आपको एक MySQL सर्वर स्थापित करें पहला। एक बार ऐसा करने के बाद, एक खाली डेटाबेस बनाएं और सुनिश्चित करें कि आपके पास उपयोगकर्ता नाम और पासवर्ड है।
एक नोड एप्लिकेशन बनाएं
अपने टर्मिनल में, अपने नोड एप्लिकेशन के लिए एक नया फ़ोल्डर बनाने के लिए निम्न कमांड चलाएँ:
mkdir नोड-mysql
पर नेविगेट करें नोड-mysql फ़ोल्डर और npm का उपयोग करके इसे प्रारंभ करें:
सीडी नोड-mysql
npm init -y
यह एक package.json फ़ाइल उत्पन्न करेगा, जो अन्य कॉन्फ़िगरेशन के साथ, आपके प्रोजेक्ट की निर्भरता को बनाए रखेगा।
नोड को MySQL से कनेक्ट करें
ऐसे कई तरीके हैं जिनसे आप अपने नोड एप्लिकेशन को MySQL से कनेक्ट कर सकते हैं। mysql2 पैकेज एक उत्कृष्ट विकल्प है, जिसे आप इस तरह से एक कमांड के साथ स्थापित कर सकते हैं:
एनपीएम mysql2 स्थापित करें
कनेक्शन बनाने के लिए, आपको होस्ट, पोर्ट, उपयोगकर्ता, डेटाबेस और पासवर्ड जैसे कई मानों की आवश्यकता होती है। यहां एक उदाहरण दिया गया है जो एक डेटाबेस से जुड़ता है जिसे कहा जाता है नोडडीबी स्थानीय रूप से स्थापित एक MySQL सर्वर पर।
स्थिरांक कॉन्फिग = {
होस्ट: "लोकलहोस्ट",
बंदरगाह: 3306,
डेटाबेस: "नोडब",
उपयोगकर्ता: "रूट",
पासवर्ड: "********",
}
यह है कॉन्फ़िग ऑब्जेक्ट आप नीचे दिए गए प्रोग्राम के अनुसार कनेक्शन विधि को पास करेंगे।
स्थिरांक mysql = ज़रूरत होना("mysql2")
स्थिरांक कॉन्फिग = {
होस्ट: "लोकलहोस्ट",
डेटाबेस: "db_name",
उपयोगकर्ता: "mysql_username",
पासवर्ड: "mysql_password",
कनेक्शन सीमा: 100,
}स्थिरांक कनेक्शन = mysql.createConnection (कॉन्फ़िगरेशन)
कनेक्शन। कनेक्ट (समारोह(ग़लती होना) {
यदि (गलती) फेंकना(गलती);
सांत्वना देनालॉग ("कनेक्टेड!");
});
जब आप डेटाबेस विवरण पास करते हैं mysql.createConnection () विधि, आप एक कनेक्शन ऑब्जेक्ट बनाते हैं। कनेक्शन ऑब्जेक्ट आपको टेबल बनाने, हटाने या पढ़ने जैसे लेनदेन करने देगा।
उदाहरण के लिए, निम्न कोड उस डेटाबेस में एक तालिका बनाता है जिससे आप कनेक्ट होते हैं।
कनेक्शन। कनेक्ट (समारोह(ग़लती होना) {
यदि (गलती) फेंकना गलती;
सांत्वना देनालॉग ("कनेक्टेड!");होने देना क्रिएट यूज़र = `टेबल उपयोगकर्ता बनाएं (user_id INT(100), user_name VARCHAR(255), ईमेल VARCHAR(255))`;
कनेक्शन.क्वेरी (क्रिएट यूज़र, समारोह(त्रुटि, परिणाम, फ़ील्ड) {
यदि (गलती) {
सांत्वना देनालॉग (गलती.संदेश);
}
});
});
जब आप इसे चलाते हैं, तो यह क्वेरी नामक एक नई तालिका बनाएगी उपयोगकर्ताओं डेटाबेस में। क्वेरी सामान्य सिंटैक्स का उपयोग करती है जिसे आप अनुकूलित कर सकते हैं एक MySQL डेटाबेस स्कीमा बनाएँ जो आपकी आवश्यकताओं के अनुरूप हो।
यदि आप केवल एक ही कनेक्शन बनाना चाहते हैं तो उपरोक्त कनेक्शन प्रोग्राम ठीक काम करता है। हालांकि, समवर्ती कनेक्शन अनुरोध करते समय, कनेक्शन पूल का उपयोग करना सबसे अच्छा होता है।
कनेक्शन पूल का उपयोग करके नोड को MySQL से कनेक्ट करें
कनेक्शन खोलना और बंद करना महंगा हो सकता है, खासकर जब बहुत सारे हों। डेटाबेस कनेक्शन पूलिंग खुले कनेक्शन के पूल को बनाए रखकर इस लागत को कम करने में मदद करती है। जब अनुरोध किया जाता है, तो पूल मांग पर एक खुला कनेक्शन प्रदान कर सकता है।
ऐसा करने से आपका समय बचता है क्योंकि आपको हर बार नया कनेक्शन नहीं खोलना पड़ता है।
नोड में कनेक्शन पूल बनाने के लिए निम्न कोड का उपयोग करें:
स्थिरांक mysql = ज़रूरत होना("mysql2");
स्थिरांक कॉन्फिग = {
मेज़बान: "स्थानीय होस्ट",
डेटाबेस: "db_name",
उपयोगकर्ता: "mysql_username",
पासवर्ड: "mysql_password",
कनेक्शन सीमा: 100,
}स्थिरांक पूल = mysql.createPool (कॉन्फ़िगरेशन);
पूल.क्वेरी("चुनें * some_table से", (गलती, डेटा) => {
यदि (गलती) फेंकना(गलती)
सांत्वना देनालॉग (डेटा);
});
अपने स्वयं के परिवेश से मेल खाने के लिए कॉन्फ़िगरेशन विवरण बदलना याद रखें।
MySQL से सुरक्षित रूप से जुड़ रहा है
Mysql2 लाइब्रेरी एक नोड एप्लिकेशन को MySQL डेटाबेस से जोड़ने की प्रक्रिया को सरल बनाती है। आप या तो एकल क्लाइंट या कनेक्शन पूल का उपयोग कर सकते हैं। हालाँकि, यदि आपको कई अनुरोध करने हैं, तो कनेक्शन पूल का उपयोग करना सबसे अच्छा है क्योंकि यह कम खर्चीला है।
डेटाबेस से जुड़ना केवल पहला कदम है। आपको यह भी सुनिश्चित करना चाहिए कि आपके द्वारा डेटाबेस में संग्रहीत डेटा सुरक्षित है। आखिरकार, MySQL हमलावरों के लिए एक लोकप्रिय लक्ष्य है। अपने MySQL डेटाबेस सर्वर को सुरक्षित करने के लिए आप कुछ बुनियादी कदम उठा सकते हैं। एक मजबूत उपयोगकर्ता पासवर्ड सेट करें, दूरस्थ लॉगिन प्रतिबंधित करें, और अनावश्यक विशेषाधिकार न दें।