Menghubungkan MySQL dengan NodeJS

Connecting Mysql With Nodejs



Server MySQL adalah server database yang sangat populer dan didukung oleh bahasa pemrograman yang banyak digunakan, seperti PHP, Python, Perl, Java, C#, dll. Ini adalah aplikasi open-source, jadi siapa pun dapat mengunduh aplikasi ini untuk menyimpan, mengambil , memperbarui dan menghapus data dengan menggunakan kueri basis data. Anda akan memerlukan paket server dan klien untuk diinstal di sistem Anda untuk melakukan berbagai jenis operasi database di server database. Server MySQL sekarang menjadi populer untuk pengembang Node juga. Pengembang node mulai menggunakan server MySQL dengan MongoDB untuk beberapa fitur khusus dari server MySQL. Bagaimana Anda dapat membuat koneksi dengan server MySQL menggunakan klien node-mysql ditampilkan dalam tutorial ini.

Prasyarat:

Sebelum memulai tutorial ini, Anda harus mengonfirmasi bahwa server MySQL dan paket klien telah diinstal dan berfungsi dengan baik di sistem Anda. Jika Anda menginstal server MySQL untuk pertama kalinya maka kata sandi pengguna root secara default kosong. Tetapi Anda harus mengatur kata sandi untuk pengguna root untuk membuat koneksi dengan server MySQL menggunakan simpul-mysql klien. Anda dapat memeriksa ini tutorial untuk mengetahui cara mengubah kata sandi root dari server MySQL.







Jalankan perintah berikut untuk bekerja sebagai pengguna root dan terhubung dengan server MySQL dengan menggunakan klien MySQL.



$sudo -Saya
$mysql-uakar-P

Masukkan kata sandi root dan jalankan perintah SQL berikut untuk membuat database baru, buat tabel di database itu, dan sisipkan beberapa catatan di tabel itu.



Perintah berikut akan membuat database bernama mydb .





MEMBUAT DATABASE mydb;

Berikut perintah untuk memilih database untuk melakukan operasi database.

menggunakan mydb;

Perintah berikut akan membuat tabel bernama buku dalam database mydb.



MEMBUAT MEJA buku(
Indo INT (6) TANDA TANDATANGANI AUTO_INCREMENT KUNCI UTAMA ,
judul VARCHAR (lima puluh) BUKAN BATAL ,
Pengarang VARCHAR (lima puluh) BUKAN BATAL ,
harga ke dalam (5));

Perintah berikut akan memasukkan empat catatan ke dalam buku meja.

MEMASUKKAN KE DALAM buku nilai-nilai
( BATAL ,'Belajar PHP dan MySQL', 'Robin Nixon', Empat. Lima),
( BATAL ,'Mempelajari JQuery', 'Jonathan', 35),
( BATAL ,'Aksi Sudut', 'Jeremy', lima puluh),
( BATAL ,'Menguasai Laravel', 'Christopher', 55);

Instal klien mysql untuk nodejs:

Jalankan perintah berikut untuk memeriksa nodejs diinstal di sistem sebelum menjalankan perintah menginstal klien mysql dari nodejs. Ini akan menampilkan versi nodejs yang diinstal.

$simpul-v

Jika tidak diinstal maka Anda harus menginstalnya dengan menjalankan perintah berikut.

$sudo apt-get installnodejs

Anda akan membutuhkan paket lain bernama di atas permukaan laut untuk diinstal dalam sistem untuk menginstal klien mysql untuk nodejs. Jika tidak diinstal sebelum menjalankan perintah berikut untuk menginstal di atas permukaan laut .

$sudo apt-get installdi atas permukaan laut

Sekarang, jalankan perintah berikut untuk memperbarui sistem.

$sudo pembaruan apt-get

Perintah berikut akan menginstal mysql modul untuk nodejs yang akan berfungsi sebagai klien mysql.

$di atas permukaan lautInstallmysql

Koneksi MySQL sederhana menggunakan NodeJS:

Buat file JS bernama koneksi1.js dengan skrip berikut untuk membuat koneksi dengan database yang dibuat sebelumnya bernama mydb dan membaca data dari buku meja. mysql modul diimpor dan digunakan untuk membuat koneksi sederhana dengan server MySQL. Selanjutnya, sebuah query akan dieksekusi untuk membaca semua record dari buku tabel, jika database terhubung dengan benar. Jika kueri dijalankan dengan benar maka semua catatan dari buku tabel akan dicetak di terminal dan koneksi database akan ditutup.

koneksi1.js

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

// Atur parameter koneksi database
biarkan koneksi=mysql.buatKoneksi({
tuan rumah: 'localhost',
pengguna: 'akar',
kata sandi: '1234',
basis data: 'mydb'
});

// Terhubung dengan database
koneksi.Menghubung(fungsi(Dan) {
jika (Dan) {

// Tampilkan pesan kesalahan saat gagal
kembalimenghibur.kesalahan('kesalahan:' +Dan.pesan);
}

// Tampilkan pesan sukses jika terhubung
menghibur.catatan(' Terhubung ke server MySQL... ');
});

// Setel pesan kueri
$permintaan= 'PILIH * dari buku';

// Jalankan kueri basis data
koneksi.pertanyaan($permintaan, fungsi(Dan,baris) {
jika(Dan){

// Tampilkan pesan kesalahan
menghibur.catatan('Terjadi kesalahan dalam menjalankan kueri.');
kembali;
}
/* Menampilkan data terformat yang diambil dari tabel 'buku'
menggunakan perulangan for */

menghibur.catatan('Catatan tabel buku: ');
menghibur.catatan('JudulTTTTPengarangTTharga ');
untuk(biarkan baris baris) {
menghibur.catatan(baris['judul'],'TT',baris['Pengarang'],'T','$',baris['harga']);
}
});

// Tutup koneksi database
koneksi.akhir(fungsi(){
menghibur.catatan(' Koneksi ditutup. ');
});

Keluaran:

Jalankan perintah berikut untuk menjalankan skrip.

$koneksi simpul1.js

Output berikut akan muncul setelah menjalankan skrip.

Koneksi MySQL gabungan menggunakan NodeJS:

Membuat koneksi MySQL sederhana dengan NodeJS menggunakan mysql modul ditunjukkan pada contoh sebelumnya. Tetapi banyak pengguna dapat terhubung dengan server database sekaligus melalui aplikasi saat aplikasi dibuat dengan MySQL database untuk keperluan produksi. Anda akan membutuhkan cepat modul untuk menangani pengguna database secara bersamaan dan mendukung beberapa koneksi database.

Jalankan perintah berikut untuk menginstal cepat modul.

$di atas permukaan lautInstallcepat

Buat file JS bernama koneksi2.js dengan skrip berikut. Jika Anda terhubung dengan MySQL dengan skrip berikut maka 10 pengguna bersamaan akan dapat membuat koneksi dengan server database dan mengambil data dari tabel berdasarkan kueri. Ini akan membuat koneksi di port 5000.

koneksi2.js

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

// Impor modul ekspres
di manacepat=memerlukan('cepat');

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

// Buat koneksi database untuk menangani 10 pengguna bersamaan
di manakolam=mysql.buatKolam renang({
batas koneksi:10,
tuan rumah: 'localhost',
pengguna: 'akar',
kata sandi: '1234',
basis data: 'mydb',
debug: benar
});

/* Buat koneksi gabungan dengan database dan baca catatan tertentu dari tabel itu
basis data */

fungsihandle_database(meminta,tanggapan) {

// Buat koneksi
kolam.dapatkan koneksi(fungsi(Dan,koneksi){
jika (Dan) {

//Kirim pesan kesalahan untuk koneksi yang gagal dan putus
tanggapan.json({'kode' : 300, 'status' : 'Kesalahan koneksi basis data'});
kembali;
}

// Menampilkan pesan sukses di terminal
menghibur.catatan('Database terhubung');

// Baca catatan tertentu dari tabel buku
koneksi.pertanyaan('PILIH * dari buku dengan judul seperti '%PHP%' atau judul seperti
'%Laravel%''
,fungsi(Dan,baris){koneksi.melepaskan();
jika(!Dan) {

// Kembalikan hasil kueri jika berhasil dieksekusi
tanggapan.json(baris);
}
});

// Periksa kesalahan koneksi terjadi atau tidak
koneksi.pada('kesalahan', fungsi(Dan) {
tanggapan.json({'kode' : 300, 'status' : 'Kesalahan koneksi basis data'});
kembali;
});
});
}

// Panggil fungsi untuk membuat koneksi
aplikasi.Dapatkan('/',fungsi(meminta,tanggapan){-
handle_database(meminta,tanggapan);
});

// Dengarkan permintaan koneksi pada port 5000
aplikasi.mendengarkan(5000);

Keluaran:

Jalankan script dari terminal seperti contoh sebelumnya. Itu akan menunggu permintaan koneksi setelah menjalankan skrip.

$koneksi simpul2.js

Sekarang, buka browser apa saja dan buka URL berikut untuk mengirim permintaan koneksi.

http://localhost:5000

Output berikut akan muncul sebagai respons setelah menjalankan kueri.

Jika Anda membuka terminal sekarang maka Anda akan melihat output berikut.

Sepuluh permintaan koneksi dapat dikirim sekaligus dari 10 browser dengan cara yang disebutkan di atas.

Kesimpulan:

Cara paling sederhana untuk bekerja dengan MySQL dan NodeJS ditunjukkan oleh dua contoh dalam tutorial ini. Jika Anda seorang pengembang Node baru dan ingin bekerja dengan database MySQL maka saya harap Anda dapat melakukan tugas Anda setelah membaca tutorial ini.