ربط MySQL مع NodeJS

Connecting Mysql With Nodejs



خادم MySQL هو خادم قاعدة بيانات شائع جدًا وهو مدعوم من قبل لغات البرمجة الأكثر استخدامًا ، مثل PHP و Python و Perl و Java و C # وما إلى ذلك ، وهو تطبيق مفتوح المصدر ، بحيث يمكن لأي شخص تنزيل هذا التطبيق للتخزين والاسترداد وتحديث وحذف البيانات باستخدام استعلامات قاعدة البيانات. ستحتاج إلى تثبيت حزم الخادم والعميل في نظامك لأداء أنواع مختلفة من عمليات قاعدة البيانات في خادم قاعدة البيانات. أصبح خادم MySQL الآن شائعًا لمطوري Node أيضًا. يبدأ مطورو العقد في استخدام خادم MySQL مع MongoDB لبعض الميزات الخاصة لخادم MySQL. يوضح هذا البرنامج التعليمي كيف يمكنك إجراء اتصال مع خادم MySQL باستخدام عميل node-mysql.

المتطلبات المسبقة:

قبل بدء هذا البرنامج التعليمي ، عليك التأكد من أن خادم MySQL وحزم العميل مثبتة وتعمل بشكل صحيح في نظامك. إذا قمت بتثبيت خادم MySQL لأول مرة ، فستكون كلمة مرور المستخدم الجذر فارغة افتراضيًا. ولكن عليك تعيين كلمة المرور للمستخدم الجذر لإجراء اتصال بخادم MySQL باستخدام ملف عقدة- MySQL زبون. يمكنك التحقق من هذا الدورة التعليمية لمعرفة كيفية تغيير كلمة مرور الجذر لخادم MySQL.







قم بتشغيل الأوامر التالية للعمل كمستخدم جذر والاتصال بخادم MySQL باستخدام عميل MySQL.



$سودو -أنا
mysql دولار-uجذر-p

أدخل كلمة مرور الجذر وقم بتشغيل أوامر SQL التالية لإنشاء قاعدة بيانات جديدة ، وإنشاء جدول في قاعدة البيانات هذه وإدراج بعض السجلات في هذا الجدول.



سيقوم الأمر التالي بإنشاء قاعدة بيانات باسم mydb .





يزيد قاعدة البيانات mydb؛

الأمر التالي لتحديد قاعدة البيانات للقيام بعمليات قاعدة البيانات.

استعمال mydb؛

سيقوم الأمر التالي بإنشاء جدول باسم الكتاب في قاعدة البيانات mydb.



يزيد طاولة الكتاب(
هوية شخصية ذكاء (6) غير موقّع زيادة تلقائية المفتاح الأساسي و
لقب فاركار (خمسون) ليس باطل و
مؤلف فاركار (خمسون) ليس باطل و
سعر int (5))؛

سيقوم الأمر التالي بإدراج أربعة سجلات في الكتاب طاولة.

إدراج إلى الكتاب القيم
( باطل وتعلم PHP و MySQLو روبن نيكسونو أربعة خمسة)و
( باطل و'تعلم JQuery'و 'جوناثان'و 35)و
( باطل و'الزاوية في العمل'و 'جيريمي'و خمسون)و
( باطل و'إتقان Laravel'و 'كريستوفر'و 55)؛

تثبيت عميل mysql لـ nodejs:

قم بتشغيل الأمر التالي للتحقق nodejs مثبت في النظام قبل تشغيل أمر تثبيت mysql client الخاص بـ nodejs. سيعرض الإصدار المثبت من nodejs.

$العقدة-الخامس

إذا لم يكن مثبتًا ، فيجب عليك تثبيته عن طريق تشغيل الأمر التالي.

$سودو تثبيت apt-getnodejs

سوف تحتاج إلى حزمة أخرى مسماة فوق مستوى سطح البحر ليتم تثبيتها في النظام لتثبيت عميل mysql لـ nodejs. إذا لم يتم تثبيته قبل تشغيل الأمر التالي للتثبيت فوق مستوى سطح البحر .

$سودو تثبيت apt-getفوق مستوى سطح البحر

الآن ، قم بتشغيل الأمر التالي لتحديث النظام.

$سودو تحديث apt-get

سيتم تثبيت الأمر التالي mysql الوحدة النمطية لـ nodejs التي ستعمل كعميل mysql.

$فوق مستوى سطح البحرتثبيتmysql

اتصال MySQL بسيط باستخدام NodeJS:

قم بإنشاء ملف JS باسم Connection1.js باستخدام البرنامج النصي التالي لإجراء اتصال بقاعدة البيانات التي تم إنشاؤها مسبقًا المسماة mydb وقراءة البيانات من الكتاب طاولة. mysql الوحدة النمطية يتم استيرادها واستخدامها لإنشاء اتصال بسيط بخادم MySQL. بعد ذلك ، سيتم تنفيذ استعلام لقراءة جميع السجلات من الكتاب الجدول ، إذا كانت قاعدة البيانات متصلة بشكل صحيح. إذا تم تنفيذ الاستعلام بشكل صحيح ، فإن جميع سجلات الكتاب ستتم طباعة الجدول في المحطة وسيتم إغلاق اتصال قاعدة البيانات.

Connection1.js

// استيراد وحدة mysql
اسمحوا mysql=يتطلب('mysql')؛

// إعداد معلمة اتصال قاعدة البيانات
دع الاتصال=mysql.إنشاء اتصال({
مضيف: 'مضيف محلي'و
المستعمل: 'جذر'و
كلمه السر: '1234'و
قاعدة البيانات: 'mydb'
})؛

// تواصل مع قاعدة البيانات
الإتصال.الاتصال(وظيفة(و) {
لو (و) {

// إظهار رسالة الخطأ عند الفشل
إرجاعوحدة التحكم.خطأ('خطأ: ' +و.رسالة)؛
}

// إظهار رسالة النجاح إذا كان متصلاً
وحدة التحكم.سجل('نمتصل بخادم MySQL ...ن')؛
})؛

// تعيين رسالة الاستعلام
استعلام دولار= 'حدد * من الكتاب'؛

// تنفيذ استعلام قاعدة البيانات
الإتصال.استفسار(استعلام دولارو وظيفة(ووصفوف) {
لو(و){

// إظهار رسالة الخطأ
وحدة التحكم.سجل('حدث خطأ أثناء تنفيذ الاستعلام.')؛
إرجاع؛
}
/ * عرض البيانات المنسقة المسترجعة من جدول 'الكتاب'
باستخدام الحلقة * /

وحدة التحكم.سجل(سجلات جدول الكتاب:ن')؛
وحدة التحكم.سجل('عنوان t t t tمؤلف t tسعرن')؛
ل(دع صف الصفوف) {
وحدة التحكم.سجل(صف['لقب']و' t t'وصف['مؤلف']و' t'و'$'وصف['سعر'])؛
}
})؛

// أغلق اتصال قاعدة البيانات
الإتصال.نهاية(وظيفة(){
وحدة التحكم.سجل('ناتصال مغلقة.ن')؛
})؛

انتاج:

قم بتشغيل الأمر التالي لتنفيذ البرنامج النصي.

$عقدة Connection1.js

سيظهر الإخراج التالي بعد تشغيل البرنامج النصي.

اتصال MySQL المجمع باستخدام NodeJS:

إجراء اتصال MySQL بسيط مع NodeJS باستخدام mysql يتم عرض الوحدة النمطية في المثال السابق. ولكن يمكن للعديد من المستخدمين الاتصال بخادم قاعدة البيانات في وقت واحد من خلال التطبيق عند إنشاء التطبيق باستخدام MySQL قاعدة بيانات لأغراض الإنتاج. سوف تطلب التعبير وحدة للتعامل مع مستخدمي قاعدة البيانات المتزامنة ودعم اتصالات قاعدة البيانات المتعددة.

قم بتشغيل الأمر التالي لتثبيت التعبير وحدة.

$فوق مستوى سطح البحرتثبيتالتعبير

قم بإنشاء ملف JS باسم connect2.js بالنص التالي. إذا قمت بالاتصال بـ MySQL باستخدام البرنامج النصي التالي ، فسيتمكن 10 مستخدمين متزامنين من إجراء اتصال بخادم قاعدة البيانات واسترداد البيانات من الجدول بناءً على الاستعلام. سيتم إجراء اتصال في المنفذ 5000.

connect2.js

// استيراد وحدة mysql
أينmysql=يتطلب('mysql')؛

// استيراد وحدة صريحة
أينالتعبير=يتطلب('التعبير')؛

// تحديد كائن من الوحدة النمطية السريعة
أينتطبيق=التعبير()؛

// قم بإجراء اتصال بقاعدة البيانات للتعامل مع 10 مستخدمين متزامنين
أينحمام سباحة=mysql.إنشاء حمام سباحة({
اتصال:10و
مضيف: 'مضيف محلي'و
المستعمل: 'جذر'و
كلمه السر: '1234'و
قاعدة البيانات: 'mydb'و
التصحيح: حقيقية
})؛

/ * قم بإجراء اتصال مجمع مع قاعدة بيانات وقراءة سجلات محددة من جدول لذلك
قاعدة البيانات */

وظيفةالتعامل مع قاعدة البيانات(طلبواستجابة) {

// قم بالاتصال
حمام سباحة.getConnection(وظيفة(ووالإتصال){
لو (و) {

// إرسال رسالة خطأ للاتصال غير الناجح وإنهاء
استجابة.json({'الشفرة' : 300و 'الحالة' : 'خطأ في اتصال قاعدة البيانات'})؛
إرجاع؛
}

// عرض رسالة النجاح في المحطة
وحدة التحكم.سجل('قاعدة البيانات متصلة')؛

// قراءة سجلات معينة من جدول الكتاب
الإتصال.استفسار('SELECT * من كتاب حيث العنوان مثل'٪ PHP٪ 'أو العنوان مثل
'٪ Laravel٪'
ووظيفة(ووصفوف){الإتصال.إفراج()؛
لو(!و) {

// إرجاع مجموعة نتائج الاستعلام إذا تم تنفيذه بنجاح
استجابة.json(صفوف)؛
}
})؛

// تحقق من حدوث خطأ في الاتصال أم لا
الإتصال.تشغيل('خطأ'و وظيفة(و) {
استجابة.json({'الشفرة' : 300و 'الحالة' : 'خطأ في اتصال قاعدة البيانات'})؛
إرجاع؛
})؛
})؛
}

// اتصل بوظيفة إجراء الاتصالات
تطبيق.احصل على('/'ووظيفة(طلبواستجابة){-
التعامل مع قاعدة البيانات(طلبواستجابة)؛
})؛

// استمع إلى طلب الاتصال على المنفذ 5000
تطبيق.استمع(5000)؛

انتاج:

قم بتشغيل البرنامج النصي من المحطة مثل المثال السابق. سينتظر طلب الاتصال بعد تشغيل البرنامج النصي.

$عقدة Connection2.js

الآن ، افتح أي متصفح وانتقل إلى عنوان URL التالي لإرسال طلب اتصال.

http: // localhost: 5000

سيظهر الناتج التالي كاستجابة بعد تنفيذ الاستعلام.

إذا فتحت الجهاز الآن ، فسترى الإخراج التالي.

يمكن إرسال عشرة طلبات اتصال في وقت واحد من 10 متصفحات بالطريقة المذكورة أعلاه.

استنتاج:

يتم عرض أبسط الطرق للعمل مع MySQL و NodeJS من خلال مثالين في هذا البرنامج التعليمي. إذا كنت مطور Node جديدًا وترغب في العمل مع قاعدة بيانات MySQL ، فآمل أن تتمكن من القيام بمهمتك بعد قراءة هذا البرنامج التعليمي.