DüğümJS

MySQL'i NodeJS ile Bağlama

MySQL'i NodeJS ile Bağlama
MySQL sunucusu çok popüler bir veritabanı sunucusudur ve PHP, Python, Perl, Java, C# gibi en çok kullanılan programlama dilleri tarafından desteklenir. Açık kaynaklı bir uygulamadır, bu nedenle herkes bu uygulamayı veritabanı sorgularını kullanarak veri depolamak, almak, güncellemek ve silmek için indirebilir. Veritabanı sunucusunda farklı türde veritabanı işlemlerini gerçekleştirmek için sunucu ve istemci paketlerinin sisteminize yüklenmesini isteyeceksiniz. MySQL sunucusu artık Düğüm geliştiricileri için de popüler hale geliyor. Düğüm geliştiricileri, MySQL sunucusunun bazı özel özellikleri için MySQL sunucusunu MongoDB ile kullanmaya başlar. Bu eğitimde node-mysql istemcisini kullanarak MySQL sunucusuyla nasıl bağlantı kurabileceğiniz gösterilmektedir.

Ön koşul:

Bu eğiticiye başlamadan önce MySQL sunucu ve istemci paketlerinin kurulu olduğunu ve sisteminizde düzgün çalıştığını onaylamanız gerekir. MySQL sunucusunu ilk kez kurarsanız, root kullanıcısının şifresi varsayılan olarak boştur. Ancak, MySQL sunucusu ile bağlantı kurmak için root kullanıcısının şifresini ayarlamanız gerekir düğüm-mysql müşteri. MySQL sunucusunun kök şifresini nasıl değiştireceğinizi öğrenmek için bu öğreticiyi kontrol edebilirsiniz.

Kök kullanıcı olarak çalışmak ve MySQL istemcisini kullanarak MySQL sunucusuna bağlanmak için aşağıdaki komutları çalıştırın.

$ sudo -i
$ mysql -u kök -p

Yeni bir veritabanı oluşturmak için root şifresini girin ve aşağıdaki SQL komutlarını çalıştırın, bu veritabanı üzerinde bir tablo oluşturun ve bu tabloya bazı kayıtları ekleyin.

Aşağıdaki komut adında bir veritabanı oluşturacaktır mydb.

VERİTABANI OLUŞTUR mydb;

Veritabanı işlemlerini yapmak için veritabanını seçmek için aşağıdaki komut.

mydb'yi kullanın;

Aşağıdaki komut adında bir tablo oluşturacaktır kitap veritabanında mydb.

TABLO OLUŞTUR kitabı (
id INT(6) İMZASIZ AUTO_INCREMENT BİRİNCİL ANAHTAR,
başlık VARCHAR(50) NULL DEĞİL,
yazar VARCHAR(50) NULL DEĞİL,
fiyat int(5));

Aşağıdaki komut, içine dört kayıt ekleyecektir kitap masa.

Kitap değerlerine EKLE
(BOŞ,'PHP ve MySQL Öğrenme', 'Robin Nixon', 45),
(BOŞ,'JQuery Öğrenme', 'Jonathan', 35),
(NULL,'Angular in Action', 'Jeremy', 50),
(BOŞ,'Laravel'de Ustalaşmak', 'Christopher', 55);

nodejs için mysql istemcisini kurun:

Kontrol etmek için aşağıdaki komutu çalıştırın düğümler nodejs'nin mysql istemcisini kurma komutunu çalıştırmadan önce sisteme kurulur. Nodejs'nin kurulu sürümünü gösterecek.

$ düğümü -v

Kurulu değilse, aşağıdaki komutu çalıştırarak yüklemeniz gerekir.

$ sudo apt-get kurulum düğümü

adlı başka bir pakete ihtiyacınız olacak npm nodejs için mysql istemcisini kurmak için sisteme kurulacak. Daha önce kurulu değilse, yüklemek için aşağıdaki komutu çalıştırın npm.

$ sudo apt-get install npm

Şimdi, sistemi güncellemek için aşağıdaki komutu çalıştırın.

$ sudo apt-get güncellemesi

Aşağıdaki komut yüklenecek mysql mysql istemcisi olarak çalışacak nodejs modülü.

$ npm mysql kurun

NodeJS kullanarak basit MySQL bağlantısı:

adlı bir JS dosyası oluşturun bağlantı1.js adlı daha önce oluşturulmuş veritabanı ile bağlantı kurmak için aşağıdaki komut dosyası ile mydb ve verileri oku kitap masa. mysql modül içe aktarılır ve MySQL sunucusuyla basit bir bağlantı oluşturmak için kullanılır. Ardından, tüm kayıtları okumak için bir sorgu yürütülecektir kitap tablo, veritabanı düzgün bağlanmışsa. Sorgu düzgün bir şekilde yürütülürse, tüm kayıtları kitap tablo terminalde yazdırılacak ve veritabanı bağlantısı kapatılacak.

bağlantı1.js

// mysql modülünü içe aktar
let mysql = require('mysql');
// Veritabanı bağlantı parametresini ayarla
bağlantıya izin ver = mysql.createConnection(
ana bilgisayar: 'yerel ana bilgisayar',
kullanıcı: "kök",
şifre: '1234',
veritabanı: 'mydb'
);
// Veritabanına bağlan
bağ.bağlan(işlev(e)
eğer (e)
// Başarısızlık durumunda hata mesajını göster
dönüş konsolu.hata('hata:' + e.İleti);

// Bağlıysa başarı mesajını göster
konsol.log('\nMySQL sunucusuna bağlandı… \n');
);
// Sorgu mesajını ayarla
$query = 'Kitaptan * SEÇ';
// Veritabanı sorgusunu çalıştır
bağ.sorgu($sorgu, işlev(e, satırlar)
eğer(e)
// Hata mesajını göster
konsol.log("Sorgu yürütülürken hata oluştu.");
dönüş;

/* 'Kitap' tablosundan alınan biçimlendirilmiş verileri göster
for döngüsü */
konsol.log("Kitap tablosunun kayıtları:\n");
konsol.log("Başlık\t\t\t\t Yazar\t\tfiyat\n");
for(satır satırına izin ver)
konsol.log(row['title'],"\t\t",row['yazar'],"\t","$",row['fiyat']);

);
// Veritabanı bağlantısını kapat
bağ.bitiş(işlev()
konsol.log('\nBağlantı kapatıldı.\n');
);

Çıktı:

Komut dosyasını yürütmek için aşağıdaki komutu çalıştırın.

$ düğüm bağlantısı1.js

Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

NodeJS kullanarak havuzlanmış MySQL bağlantısı:

kullanarak NodeJS ile basit bir MySQL bağlantısı kurma mysql modül önceki örnekte gösterilmiştir. Ancak birçok kullanıcı, uygulama ile oluşturulduğunda, uygulama aracılığıyla bir seferde veritabanı sunucusuna bağlanabilir MySQL üretim amaçlı veri tabanı. ihtiyacınız olacak ifade etmek eşzamanlı veritabanı kullanıcılarını işlemek ve birden çok veritabanı bağlantısını desteklemek için modül.

yüklemek için aşağıdaki komutu çalıştırın ifade etmek modül.

$ npm ekspres yükleme

adlı bir JS dosyası oluşturun bağlantı2.js aşağıdaki komut dosyası ile. MySQL ile aşağıdaki komut dosyasıyla bağlanırsanız, 10 eşzamanlı kullanıcı veritabanı sunucusuyla bağlantı kurabilir ve sorguya dayalı olarak tablodan veri alabilir. 5000 numaralı bağlantı noktasında bağlantı yapacaktır.

bağlantı2.js

// mysql modülünü içe aktar
var mysql = require('mysql');
// ekspres modülü içe aktar
var express = require("express");
// ekspres modülün nesnesini tanımlayın
var app = ekspres();
// 10 eşzamanlı kullanıcıyı işlemek için veritabanı bağlantısı kurun
var havuz = mysql.createPool(
bağlantıSınır :10,
ana bilgisayar: 'yerel ana bilgisayar',
kullanıcı: "kök",
şifre: '1234',
veritabanı: 'mydb',
hata ayıklama: doğru
);
/* Bir veritabanı ile havuzlanmış bağlantı kurun ve bunun bir tablosundan belirli kayıtları okuyun
veri tabanı */
function handle_database(istek,yanıt)
// Bağlantı kurun
havuz.getConnection(işlev(e,bağlantı)
eğer (e)
//Başarısız bağlantı için hata mesajı gönder ve sonlandır
tepki.json("kod" : 300, "durum" : "Veritabanı bağlantı hatası");
dönüş;

// Terminalde başarı mesajını göster
konsol.log('Veritabanı bağlandı');
// Kitap tablosundan belirli kayıtları oku
bağ.query("SELECT * '%PHP%' gibi bir başlık veya başlık gibi bir kitaptan
'%Laravel%'",function(e,rows) bağlantı.serbest bırakmak();
Eğer(!e)
// Sorgu başarıyla yürütüldüyse sonuç kümesini döndür
tepki.json(satırlar);

);
// Bağlantı hatasının oluşup oluşmadığını kontrol edin
bağ.on('hata', işlev(e)
tepki.json("kod" : 300, "durum" : "Veritabanı bağlantı hatası");
dönüş;
);
);

// Bağlantı kurmak için fonksiyonu çağırın
uygulama.get("/",function(istek,yanıt)-
handle_database(istek,cevap);
);
// 5000 numaralı bağlantı noktasındaki bağlantı isteğini dinle
uygulama.dinle(5000);

Çıktı:

Komut dosyasını önceki örnekte olduğu gibi terminalden çalıştırın. Komut dosyasını çalıştırdıktan sonra bağlantı isteğini bekleyecektir.

$ düğüm bağlantısı2.js

Şimdi herhangi bir tarayıcıyı açın ve bağlantı isteği göndermek için aşağıdaki URL'ye gidin.

http://localhost:5000

Aşağıdaki çıktı, sorguyu yürüttükten sonra yanıt olarak görünecektir.

Şimdi terminali açarsanız aşağıdaki çıktıyı göreceksiniz.

Yukarıda belirtilen şekilde 10 tarayıcıdan aynı anda on bağlantı isteği gönderilebilir.

Sonuç:

MySQL ve NodeJS ile çalışmanın en basit yolları bu eğitimde iki örnekle gösterilmiştir. Yeni bir Düğüm geliştiricisiyseniz ve MySQL veritabanı ile çalışmak istiyorsanız, umarım bu öğreticiyi okuduktan sonra görevinizi yapabileceksiniz.

Daha Önce Bir Linux Sürümü Olmayan Linux için HD Remastered Oyunlar
Birçok oyun geliştiricisi ve yayıncısı, franchise'ın ömrünü uzatmak için eski oyunların HD remaster'ı ile geliyor, lütfen modern donanımla uyumluluk i...
Linux Oyunlarını Otomatikleştirmek için AutoKey Nasıl Kullanılır?
AutoKey, Linux ve X11 için Python 3, GTK ve Qt'de programlanmış bir masaüstü otomasyon aracıdır. Komut dosyası oluşturma ve MAKRO işlevselliğini kulla...
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...