Menghubungkan MySQL dengan NodeJS

Connecting Mysql With Nodejs



Pelayan MySQL adalah pelayan pangkalan data yang sangat popular dan disokong oleh bahasa pengaturcaraan yang paling banyak digunakan, seperti PHP, Python, Perl, Java, C #, dan lain-lain. Ini adalah aplikasi sumber terbuka, jadi sesiapa sahaja dapat memuat turun aplikasi ini untuk menyimpan, mengambil , mengemas kini dan menghapus data dengan menggunakan pertanyaan pangkalan data. Anda memerlukan pakej pelayan dan klien dipasang di sistem anda untuk melakukan pelbagai jenis operasi pangkalan data di pelayan pangkalan data. Pelayan MySQL kini menjadi popular untuk pembangun Node juga. Pembangun simpul mula menggunakan pelayan MySQL dengan MongoDB untuk beberapa ciri khas pelayan MySQL. Bagaimana anda boleh membuat sambungan dengan pelayan MySQL menggunakan klien node-mysql ditunjukkan dalam tutorial ini.

Prasyarat:

Sebelum memulakan tutorial ini, anda mesti mengesahkan bahawa pakej pelayan dan pelanggan MySQL dipasang dan berfungsi dengan betul di sistem anda. Sekiranya anda memasang pelayan MySQL untuk pertama kalinya, kata laluan pengguna root kosong secara lalai. Tetapi anda harus menetapkan kata laluan untuk pengguna root untuk membuat sambungan dengan pelayan MySQL menggunakan simpul-mysql pelanggan. Anda boleh menyemak ini tutorial untuk mengetahui cara menukar kata laluan root pelayan MySQL.







Jalankan arahan berikut untuk berfungsi sebagai pengguna root dan berhubung dengan pelayan MySQL dengan menggunakan klien MySQL.



$sudo -i
$ mysql-uakar-p

Masukkan kata laluan root dan jalankan perintah SQL berikut untuk membuat pangkalan data baru, buat jadual pada pangkalan data itu dan masukkan beberapa rekod dalam jadual tersebut.



Perintah berikut akan membuat pangkalan data yang dinamakan mydb .





BUAT PANGKALAN DATA mydb;

Perintah berikut untuk memilih pangkalan data untuk melakukan operasi pangkalan data.

menggunakan mydb;

Perintah berikut akan membuat jadual bernama buku dalam pangkalan data mydb.



BUAT JADUAL buku(
ID INT (6) TANPA DAFTAR AUTO_INCREMENT KUNCI UTAMA ,
tajuk VARCHAR (lima puluh) TIDAK BULAN ,
pengarang VARCHAR (lima puluh) TIDAK BULAN ,
harga int (5));

Perintah berikut akan memasukkan empat rekod ke dalam buku meja.

MASUKKAN KE DALAM buku nilai
( BULAN ,'Belajar PHP dan MySQL', 'Robin Nixon', Empat lima),
( BULAN ,'Belajar JQuery', 'Jonathan', 35),
( BULAN ,'Sudut Beraksi', 'Jeremy', lima puluh),
( BULAN ,'Menguasai Laravel', 'Christopher', 55);

Pasang klien mysql untuk nodejs:

Jalankan arahan berikut untuk memeriksa nodejs dipasang dalam sistem sebelum menjalankan perintah memasang klien mysql nodejs. Ia akan menunjukkan versi nodej yang dipasang.

$simpul-v

Sekiranya tidak dipasang maka anda harus memasangnya dengan menjalankan perintah berikut.

$sudo apt-get pasangnodejs

Anda memerlukan pakej lain yang dinamakan di atas paras laut untuk dipasang dalam sistem untuk memasang klien mysql untuk nodejs. Sekiranya tidak dipasang sebelum jalankan arahan berikut untuk memasang di atas paras laut .

$sudo apt-get pasangdi atas paras laut

Sekarang, jalankan arahan berikut untuk mengemas kini sistem.

$sudo apt-get kemas kini

Perintah berikut akan dipasang mysql modul untuk nodejs yang akan berfungsi sebagai pelanggan mysql.

$di atas paras lautpasangmysql

Sambungan MySQL ringkas menggunakan NodeJS:

Buat fail JS bernama sambungan1.js dengan skrip berikut untuk membuat sambungan dengan pangkalan data yang dibuat sebelumnya yang dinamakan mydb dan membaca data dari buku meja. mysql modul diimport dan digunakan untuk membuat sambungan mudah dengan pelayan MySQL. Seterusnya, pertanyaan akan dijalankan untuk membaca semua rekod dari buku jadual, jika pangkalan data disambungkan dengan betul. Sekiranya pertanyaan dijalankan dengan betul maka semua rekod buku jadual akan dicetak di terminal dan sambungan pangkalan data akan ditutup.

sambungan1.js

// Import modul mysql
biarkan mysql=memerlukan('mysql');

// Tetapkan parameter sambungan pangkalan data
biarkan sambungan=mysql.buatSambungan({
tuan rumah: 'localhost',
pengguna: 'akar',
kata laluan: '1234',
pangkalan data: 'mydb'
});

// Sambung dengan pangkalan data
sambungan.menyambung(fungsi(Dan) {
sekiranya (Dan) {

// Tunjukkan mesej ralat pada kegagalan
kembalikonsol.kesilapan('ralat:' +Dan.mesej);
}

// Tunjukkan mesej kejayaan jika disambungkan
konsol.balak(' nBersambung ke pelayan MySQL ... n');
});

// Tetapkan mesej pertanyaan
$ pertanyaan= 'PILIH * dari buku';

// Jalankan pertanyaan pangkalan data
sambungan.pertanyaan($ pertanyaan, fungsi(Dan,barisan) {
sekiranya(Dan){

// Tunjukkan mesej ralat
konsol.balak('Kesalahan berlaku semasa menjalankan pertanyaan.');
kembali;
}
/ * Paparkan data berformat yang diambil dari jadual 'buku'
menggunakan gelung * /

konsol.balak('Catatan jadual buku: n');
konsol.balak('Tajuk t t t tPengarang t tharga n');
untuk(biarkan deretan baris) {
konsol.balak(barisan['tajuk'],' t t',barisan['pengarang'],' t','$',barisan['harga']);
}
});

// Tutup sambungan pangkalan data
sambungan.akhir(fungsi(){
konsol.balak(' nSambungan ditutup. n');
});

Pengeluaran:

Jalankan arahan berikut untuk melaksanakan skrip.

$sambungan nod1.js

Output berikut akan muncul setelah menjalankan skrip.

Sambungan MySQL yang dikumpulkan menggunakan NodeJS:

Membuat sambungan MySQL mudah dengan menggunakan NodeJS mysql modul ditunjukkan dalam contoh sebelumnya. Tetapi banyak pengguna dapat terhubung dengan pelayan pangkalan data sekaligus melalui aplikasi ketika aplikasi dibuat dengan MySQL pangkalan data untuk tujuan pengeluaran. Anda akan memerlukan menyatakan modul untuk menangani pengguna pangkalan data serentak dan menyokong pelbagai sambungan pangkalan data.

Jalankan arahan berikut untuk memasang menyatakan modul.

$di atas paras lautpasangmenyatakan

Buat fail JS bernama sambungan2.js dengan skrip berikut. Sekiranya anda berhubung dengan MySQL dengan skrip berikut, 10 pengguna serentak akan dapat membuat sambungan dengan pelayan pangkalan data dan mengambil data dari jadual berdasarkan pertanyaan. Ia akan membuat sambungan di port 5000.

sambungan2.js

// Import modul mysql
di manamysql=memerlukan('mysql');

// Import modul ekspres
di manamenyatakan=memerlukan('ekspres');

// Tentukan objek modul ekspres
di manaaplikasi=menyatakan();

// Buat sambungan pangkalan data untuk menangani 10 pengguna serentak
di manakolam=mysql.buatPool({
had sambungan:10,
tuan rumah: 'localhost',
pengguna: 'akar',
kata laluan: '1234',
pangkalan data: 'mydb',
nyahpepijat: benar
});

/ * Buatlah hubungan yang disatukan dengan pangkalan data dan baca catatan khusus dari jadualnya
pangkalan data */

fungsimengendalikan_database(permintaan,tindak balas) {

// Buat sambungan
kolam.getConnection(fungsi(Dan,sambungan){
sekiranya (Dan) {

// Hantar mesej ralat kerana sambungan yang tidak berjaya dan tamatkan
tindak balas.json({'kod' : 300, 'status' : 'Ralat sambungan pangkalan data'});
kembali;
}

// Paparkan mesej kejayaan di terminal
konsol.balak('Pangkalan data disambungkan');

// Baca rekod tertentu dari jadual buku
sambungan.pertanyaan('PILIH * dari buku dengan tajuk seperti'% PHP% 'atau tajuk seperti
'% Laravel%' '
,fungsi(Dan,barisan){sambungan.melepaskan();
sekiranya(!Dan) {

// Kembalikan hasil carian pertanyaan jika berjaya dilaksanakan
tindak balas.json(barisan);
}
});

// Periksa ralat sambungan berlaku atau tidak
sambungan.pada('ralat', fungsi(Dan) {
tindak balas.json({'kod' : 300, 'status' : 'Ralat sambungan pangkalan data'});
kembali;
});
});
}

// Panggil fungsi untuk membuat sambungan
aplikasi.dapatkan('/',fungsi(permintaan,tindak balas){-
mengendalikan_database(permintaan,tindak balas);
});

// Dengarkan permintaan sambungan di port 5000
aplikasi.dengar(5000);

Pengeluaran:

Jalankan skrip dari terminal seperti contoh sebelumnya. Ia akan menunggu permintaan sambungan setelah menjalankan skrip.

$sambungan nod2.js

Sekarang, buka penyemak imbas mana pun dan pergi ke URL berikut untuk menghantar permintaan sambungan.

http: // localhost: 5000

Output berikut akan muncul sebagai tindak balas setelah menjalankan pertanyaan.

Sekiranya anda membuka terminal sekarang, anda akan melihat output berikut.

Sepuluh permintaan sambungan dapat dihantar sekaligus dari 10 penyemak imbas dengan cara yang disebutkan di atas.

Kesimpulan:

Kaedah paling mudah untuk bekerja dengan MySQL dan NodeJS ditunjukkan oleh dua contoh dalam tutorial ini. Sekiranya anda seorang pembangun Node baru dan ingin bekerjasama dengan pangkalan data MySQL, saya harap anda dapat melaksanakan tugas anda setelah membaca tutorial ini.