MySQL को NodeJS से जोड़ना

Connecting Mysql With Nodejs



MySQL सर्वर एक बहुत ही लोकप्रिय डेटाबेस सर्वर है और यह ज्यादातर उपयोग की जाने वाली प्रोग्रामिंग भाषाओं, जैसे PHP, Python, Perl, Java, C#, आदि द्वारा समर्थित है। यह एक ओपन-सोर्स एप्लिकेशन है, इसलिए कोई भी इस एप्लिकेशन को स्टोर करने, पुनर्प्राप्त करने के लिए डाउनलोड कर सकता है। डेटाबेस क्वेरीज़ का उपयोग करके डेटा को अपडेट करना और हटाना। डेटाबेस सर्वर में विभिन्न प्रकार के डेटाबेस संचालन करने के लिए आपको अपने सिस्टम में सर्वर और क्लाइंट पैकेज स्थापित करने की आवश्यकता होगी। MySQL सर्वर अब नोड डेवलपर्स के लिए भी लोकप्रिय हो रहा है। नोड डेवलपर्स MySQL सर्वर की कुछ विशेष सुविधाओं के लिए MongoDB के साथ MySQL सर्वर का उपयोग शुरू करते हैं। आप नोड-mysql क्लाइंट का उपयोग करके MySQL सर्वर के साथ कैसे संबंध बना सकते हैं, इस ट्यूटोरियल में दिखाया गया है।

पूर्वापेक्षा:

इस ट्यूटोरियल को शुरू करने से पहले आपको यह पुष्टि करनी होगी कि MySQL सर्वर और क्लाइंट पैकेज आपके सिस्टम में स्थापित और ठीक से काम कर रहे हैं। यदि आप पहली बार MySQL सर्वर इंस्टाल करते हैं तो रूट यूजर का पासवर्ड डिफॉल्ट रूप से खाली होता है। लेकिन आपको रूट उपयोगकर्ता के लिए MySQL सर्वर के साथ कनेक्शन बनाने के लिए पासवर्ड सेट करना होगा नोड-mysql ग्राहक। आप इसे चेक कर सकते हैं ट्यूटोरियल यह जानने के लिए कि MySQL सर्वर का रूट पासवर्ड कैसे बदलें।







रूट उपयोगकर्ता के रूप में काम करने के लिए निम्नलिखित कमांड चलाएँ और MySQL क्लाइंट का उपयोग करके MySQL सर्वर से कनेक्ट करें।



$सुडो -मैं
$ mysqlयूजड़-पी

रूट पासवर्ड दर्ज करें और एक नया डेटाबेस बनाने के लिए निम्नलिखित SQL कमांड चलाएँ, उस डेटाबेस पर एक टेबल बनाएं और उस टेबल में कुछ रिकॉर्ड डालें।



निम्न कमांड नाम का एक डेटाबेस बनाएगा mydb .





सर्जन करना डेटाबेस mydb;

डेटाबेस संचालन करने के लिए डेटाबेस का चयन करने के लिए निम्न आदेश।

उपयोग mydb;

निम्न आदेश नाम की एक तालिका बनाएगा किताब डेटाबेस में मायडीबी



सर्जन करना टेबल किताब(
पहचान NS (6) अहस्ताक्षरित स्वत: वेतनवृद्धि प्राथमिक कुंजी ,
शीर्षक वचर (पचास) नहीं शून्य ,
लेखक वचर (पचास) नहीं शून्य ,
कीमत NS (5));

निम्न आदेश चार रिकॉर्ड सम्मिलित करेगा किताब टेबल।

सम्मिलित करें में किताब मूल्यों
( शून्य ,'PHP और MySQL सीखना', 'रॉबिन निक्सन', चार पांच),
( शून्य ,'लर्निंग JQuery', 'जोनाथन', 35),
( शून्य ,'एंगुलर इन एक्शन', 'जेरेमी', पचास),
( शून्य ,'मास्टरिंग लारवेल', 'क्रिस्टोफर', 55);

नोडज के लिए mysql क्लाइंट स्थापित करें:

जाँच करने के लिए निम्न कमांड चलाएँ नोडजस नोडज के mysql क्लाइंट को स्थापित करने की कमांड चलाने से पहले सिस्टम में स्थापित है। यह नोडज के स्थापित संस्करण को दिखाएगा।

$नोड-वी

यदि यह स्थापित नहीं है, तो आपको निम्न आदेश चलाकर इसे स्थापित करना होगा।

$सुडो उपयुक्त-स्थापित करेंनोडजस

आपको नाम के एक और पैकेज की आवश्यकता होगी समुद्र तल के ऊपर नोडज के लिए mysql क्लाइंट को स्थापित करने के लिए सिस्टम में स्थापित किया जाना है। यदि यह स्थापित करने से पहले स्थापित नहीं है, तो स्थापित करने के लिए निम्न कमांड चलाएँ समुद्र तल के ऊपर .

$सुडो उपयुक्त-स्थापित करेंसमुद्र तल के ऊपर

अब, सिस्टम को अपडेट करने के लिए निम्न कमांड चलाएँ।

$सुडो उपयुक्त-अपडेट प्राप्त करें

निम्न आदेश स्थापित होगा माई एसक्यूएल नोडज के लिए मॉड्यूल जो mysql क्लाइंट के रूप में काम करेगा।

$समुद्र तल के ऊपरइंस्टॉलमाई एसक्यूएल

NodeJS का उपयोग करके सरल MySQL कनेक्शन:

नाम की एक JS फाइल बनाएं कनेक्शन1.जेएस निम्नलिखित स्क्रिप्ट के साथ नाम के पहले बनाए गए डेटाबेस के साथ संबंध बनाने के लिए: mydb और से डेटा पढ़ें किताब टेबल। माई एसक्यूएल मॉड्यूल आयात किया जाता है और MySQL सर्वर के साथ एक सरल कनेक्शन बनाने के लिए उपयोग किया जाता है। इसके बाद, सभी रिकॉर्ड पढ़ने के लिए एक क्वेरी निष्पादित की जाएगी किताब तालिका, यदि डेटाबेस ठीक से जुड़ा हुआ है। यदि क्वेरी को ठीक से निष्पादित किया जाता है तो . के सभी रिकॉर्ड किताब तालिका को टर्मिनल में मुद्रित किया जाएगा और डेटाबेस कनेक्शन बंद कर दिया जाएगा।

कनेक्शन1.जेएस

// mysql मॉड्यूल आयात करें
चलो mysql=की आवश्यकता होती है('माई एसक्यूएल');

// डेटाबेस कनेक्शन पैरामीटर सेटअप करें
कनेक्शन दें=माई एसक्यूएल।कनेक्शन बनाएं({
मेज़बान: 'लोकलहोस्ट',
उपयोगकर्ता: 'जड़',
पासवर्ड: '1234',
डेटाबेस: 'मायडीबी'
});

// डेटाबेस से कनेक्ट करें
कनेक्शन।जुडिये(समारोह(और) {
अगर (और) {

// विफलता पर त्रुटि संदेश दिखाएं
वापसीसांत्वना देना।त्रुटि('त्रुटि: ' +और।संदेश);
}

// कनेक्ट होने पर सफलता संदेश दिखाएं
सांत्वना देना।लॉग('एनMySQL सर्वर से कनेक्टेड...एन');
});

// क्वेरी संदेश सेट करें
$क्वेरी= 'किताब से* चुनें';

// डेटाबेस क्वेरी निष्पादित करें
कनेक्शन।जिज्ञासा($क्वेरी, समारोह(और,पंक्तियों) {
अगर(और){

// त्रुटि संदेश दिखाएं
सांत्वना देना।लॉग('क्वेरी निष्पादित करने में त्रुटि हुई।');
वापसी;
}
/* 'पुस्तक' तालिका से प्राप्त स्वरूपित डेटा प्रदर्शित करें
लूप के लिए उपयोग करना */

सांत्वना देना।लॉग('पुस्तक तालिका के रिकॉर्ड:एन');
सांत्वना देना।लॉग('शीर्षकटीटीटीटीलेखकटीटीकीमतएन');
के लिये(पंक्तियों की पंक्ति दें) {
सांत्वना देना।लॉग(पंक्ति['शीर्षक'],'टीटी',पंक्ति['लेखक'],'टी','$',पंक्ति['कीमत']);
}
});

// डेटाबेस कनेक्शन बंद करें
कनेक्शन।समाप्त(समारोह(){
सांत्वना देना।लॉग('एनकनेक्शन बंद।एन');
});

आउटपुट:

स्क्रिप्ट निष्पादित करने के लिए निम्न आदेश चलाएँ।

$नोड कनेक्शन1.js

स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा।

NodeJS का उपयोग करके पूल किया गया MySQL कनेक्शन:

NodeJS का उपयोग करके एक सरल MySQL कनेक्शन बनाना माई एसक्यूएल मॉड्यूल पिछले उदाहरण में दिखाया गया है। लेकिन कई उपयोगकर्ता एप्लिकेशन के माध्यम से एक समय में डेटाबेस सर्वर से जुड़ सकते हैं जब एप्लिकेशन बनाया जाता है माई एसक्यूएल उत्पादन उद्देश्यों के लिए डेटाबेस। आपको आवश्यकता होगी व्यक्त करना समवर्ती डेटाबेस उपयोगकर्ताओं को संभालने और एकाधिक डेटाबेस कनेक्शन का समर्थन करने के लिए मॉड्यूल।

स्थापित करने के लिए निम्न आदेश चलाएँ व्यक्त करना मापांक।

$समुद्र तल के ऊपरइंस्टॉलव्यक्त करना

नाम की एक JS फाइल बनाएं कनेक्शन2.जेएस निम्नलिखित स्क्रिप्ट के साथ। यदि आप निम्न स्क्रिप्ट के साथ MySQL से जुड़ते हैं तो 10 समवर्ती उपयोगकर्ता डेटाबेस सर्वर के साथ संबंध बनाने और क्वेरी के आधार पर तालिका से डेटा पुनर्प्राप्त करने में सक्षम होंगे। यह पोर्ट 5000 पर कनेक्शन बनाएगा।

कनेक्शन2.जेएस

// mysql मॉड्यूल आयात करें
कहांमाई एसक्यूएल=की आवश्यकता होती है('माई एसक्यूएल');

// आयात एक्सप्रेस मॉड्यूल
कहांव्यक्त करना=की आवश्यकता होती है('व्यक्त करना');

// एक्सप्रेस मॉड्यूल की वस्तु को परिभाषित करें
कहांअनुप्रयोग=व्यक्त करना();

// 10 समवर्ती उपयोगकर्ताओं को संभालने के लिए डेटाबेस कनेक्शन बनाएं
कहांपूल=माई एसक्यूएल।क्रिएटपूल({
कनेक्शन सीमा:10,
मेज़बान: 'लोकलहोस्ट',
उपयोगकर्ता: 'जड़',
पासवर्ड: '1234',
डेटाबेस: 'मायडीबी',
डिबग: सच
});

/* एक डेटाबेस के साथ पूल्ड कनेक्शन बनाएं और उस की एक टेबल से विशिष्ट रिकॉर्ड पढ़ें
डेटाबेस */

समारोहहैंडल_डेटाबेस(प्रार्थना,प्रतिक्रिया) {

// कनेक्शन बनाएं
पूल।कनेक्शन प्राप्त करें(समारोह(और,संबंध){
अगर (और) {

// असफल कनेक्शन के लिए त्रुटि संदेश भेजें और समाप्त करें
प्रतिक्रिया।जेसन({'कोड' : 300, 'स्थिति' : 'डेटाबेस कनेक्शन त्रुटि'});
वापसी;
}

// टर्मिनल में सफलता संदेश प्रदर्शित करें
सांत्वना देना।लॉग('डेटाबेस कनेक्टेड');

// पुस्तक तालिका से विशेष रिकॉर्ड पढ़ें
कनेक्शन।जिज्ञासा(उस पुस्तक से 'चुनें * जहां शीर्षक '%PHP%' या शीर्षक जैसा हो
'% लारवेल%''
,समारोह(और,पंक्तियों){कनेक्शन।रिहाई();
अगर(!और) {

// यदि क्वेरी सफलतापूर्वक निष्पादित की जाती है, तो उसका परिणामसेट लौटाएं
प्रतिक्रिया।जेसन(पंक्तियों);
}
});

// जांचें कि कनेक्शन त्रुटि होती है या नहीं
कनेक्शन।पर('त्रुटि', समारोह(और) {
प्रतिक्रिया।जेसन({'कोड' : 300, 'स्थिति' : 'डेटाबेस कनेक्शन त्रुटि'});
वापसी;
});
});
}

// कनेक्शन बनाने के लिए फ़ंक्शन को कॉल करें
अनुप्रयोग।पाना('/',समारोह(प्रार्थना,प्रतिक्रिया){-
हैंडल_डेटाबेस(प्रार्थना,प्रतिक्रिया);
});

// पोर्ट 5000 . पर कनेक्शन अनुरोध सुनें
अनुप्रयोग।सुनना(5000);

आउटपुट:

पिछले उदाहरण की तरह टर्मिनल से स्क्रिप्ट चलाएँ। यह स्क्रिप्ट चलाने के बाद कनेक्शन अनुरोध की प्रतीक्षा करेगा।

$नोड कनेक्शन2.js

अब, कोई भी ब्राउज़र खोलें और कनेक्शन अनुरोध भेजने के लिए निम्न URL पर जाएं।

http://लोकलहोस्ट:5000

निम्न आउटपुट क्वेरी निष्पादित करने के बाद प्रतिक्रिया के रूप में दिखाई देगा।

यदि आप अभी टर्मिनल खोलते हैं तो आपको निम्न आउटपुट दिखाई देगा।

ऊपर बताए गए तरीके से 10 ब्राउज़रों से एक बार में दस कनेक्शन अनुरोध भेजे जा सकते हैं।

निष्कर्ष:

MySQL और NodeJS के साथ काम करने के सबसे सरल तरीके इस ट्यूटोरियल में दो उदाहरणों द्वारा दिखाए गए हैं। यदि आप एक नए नोड डेवलपर हैं और MySQL डेटाबेस के साथ काम करना चाहते हैं तो मुझे आशा है कि आप इस ट्यूटोरियल को पढ़ने के बाद अपना काम करने में सक्षम होंगे।