Sebagian besar aplikasi dunia nyata menyimpan data dalam database. Jadi, penting untuk mengetahui cara menghubungkan aplikasi Anda ke database dan mengambil data darinya.

MySQL adalah pilihan yang sangat baik untuk database. Mudah digunakan, memiliki dukungan luas, dan merupakan salah satu database relasional paling populer.

Sebelum kamu memulai

Karena Anda akan menguji kode koneksi di server MySQL lokal, Anda harus instal server MySQL pertama. Setelah Anda selesai melakukannya, buat database kosong dan pastikan Anda memiliki nama pengguna dan kata sandi.

Buat Aplikasi Node

Di terminal Anda, jalankan perintah berikut untuk membuat folder baru untuk aplikasi simpul Anda:

mkdir node-mysql

Navigasikan ke simpul-mysql folder dan inisialisasi menggunakan npm:

CD simpul-mysql
npm init -y

Ini akan menghasilkan file package.json yang, di antara konfigurasi lainnya, akan menyimpan dependensi proyek Anda.

Hubungkan Node ke MySQL

Ada beberapa cara Anda dapat menghubungkan aplikasi node Anda ke MySQL. Itu mysql2 package adalah pilihan yang sangat baik, yang dapat Anda instal dengan perintah seperti ini:

instagram viewer
npm instal mysql2

Untuk melakukan koneksi diperlukan beberapa nilai yaitu host, port, user, database, dan password. Berikut adalah contoh yang terhubung ke database yang disebut nodedb pada server MySQL yang diinstal secara lokal.

konstan konfigurasi = {
tuan rumah: "host lokal",
Pelabuhan: 3306,
basis data: "nodedb",
pengguna: "akar",
kata sandi: "*********",
}

Ini adalah konfigurasi objek yang akan Anda berikan ke metode koneksi seperti pada program di bawah ini.

konstan mysql = memerlukan("mysql2")

konstan konfigurasi = {
tuan rumah: "host lokal",
basis data: "db_name",
pengguna: "mysql_username",
kata sandi: "mysql_password",
batas koneksi: 100,
}

konstan koneksi = mysql.createConnection (config)

koneksi.koneksi(fungsi(berbuat salah) {
jika (berbuat salah) melemparkan(berbuat salah);
menghibur.log("Terhubung!");
});

Saat Anda meneruskan detail basis data ke mysql.createConnection() metode, Anda membuat objek koneksi. Objek koneksi akan memungkinkan Anda melakukan transaksi seperti membuat, menghapus, atau membaca tabel.

Misalnya, kode berikut membuat tabel dalam database yang Anda sambungkan.

koneksi.koneksi(fungsi(berbuat salah) {
jika (berbuat salah) melemparkan berbuat salah;
menghibur.log("Terhubung!");

membiarkan buatPengguna = `CREATE TABLE users (user_id INT(100), user_name VARCHAR(255), email VARCHAR(255))`;

connection.query (createUser, fungsi(err, hasil, bidang) {
jika (salah) {
menghibur.log (err.pesan);
}
});
});

Saat Anda menjalankannya, kueri ini akan membuat tabel baru bernama pengguna dalam database. Kueri menggunakan sintaks umum yang dapat Anda sesuaikan membuat skema database MySQL yang sesuai dengan kebutuhan Anda.

Program koneksi di atas berfungsi dengan baik jika Anda hanya ingin membuat satu koneksi. Namun, saat membuat permintaan koneksi bersamaan, yang terbaik adalah menggunakan kumpulan koneksi.

Hubungkan Node ke MySQL Menggunakan Pool Koneksi

Membuka dan menutup koneksi bisa menjadi mahal, terutama jika jumlahnya banyak. Penyatuan koneksi database membantu mengurangi biaya ini dengan mempertahankan kumpulan koneksi terbuka. Jika permintaan dibuat, kolam renang dapat menyediakan koneksi terbuka berdasarkan permintaan.

Dengan melakukan ini, Anda menghemat waktu karena Anda tidak perlu membuka koneksi baru setiap saat.

Gunakan kode berikut untuk membuat kumpulan koneksi di Node:

konstan mysql = memerlukan("mysql2");

konstan konfigurasi = {
tuan rumah: "localhost",
basis data: "db_name",
pengguna: "mysql_namapengguna",
kata sandi: "mysql_password",
batas koneksi: 100,
}

konstan kolam = mysql.createPool (config);

kolam.permintaan("PILIH * DARI beberapa_tabel", (err, data) => {
jika (berbuat salah) melemparkan(berbuat salah)
menghibur.log (data);
});

Ingatlah untuk mengubah detail konfigurasi agar sesuai dengan lingkungan Anda sendiri.

Terhubung dengan Aman ke MySQL

Pustaka mysql2 menyederhanakan proses menghubungkan aplikasi Node ke database MySQL. Anda dapat menggunakan klien tunggal atau kumpulan koneksi. Namun, Jika Anda harus membuat beberapa permintaan, yang terbaik adalah menggunakan kumpulan koneksi karena lebih murah.

Menghubungkan ke database hanyalah langkah pertama. Anda juga harus memastikan bahwa data yang Anda simpan dalam database aman. Bagaimanapun, MySQL adalah target populer bagi penyerang. Ada beberapa langkah dasar yang dapat Anda ambil untuk mengamankan server database MySQL Anda. Tetapkan kata sandi pengguna yang kuat, batasi login jarak jauh, dan jangan berikan hak istimewa yang tidak perlu.