/ / Cách kết nối ứng dụng nút với cơ sở dữ liệu MySQL

Cách kết nối ứng dụng nút với cơ sở dữ liệu MySQL

pexels brett sayles 4330788

Hầu hết các ứng dụng trong thế giới thực vẫn tồn tại dữ liệu trong cơ sở dữ liệu. Vì vậy, điều quan trọng là phải biết cách kết nối ứng dụng của bạn với cơ sở dữ liệu và tìm nạp dữ liệu từ nó.

MySQL là một lựa chọn tuyệt vời cho một cơ sở dữ liệu. Nó dễ sử dụng, được hỗ trợ rộng rãi và là một trong những cơ sở dữ liệu quan hệ phổ biến nhất.

Trước khi bắt đầu

Vì bạn sẽ kiểm tra mã kết nối trên máy chủ MySQL cục bộ, trước tiên bạn cần cài đặt máy chủ MySQL. Khi bạn đã làm như vậy, hãy tạo một cơ sở dữ liệu trống và đảm bảo rằng bạn có tên người dùng và mật khẩu.

Tạo ứng dụng nút

Trong thiết bị đầu cuối của bạn, hãy chạy lệnh sau để tạo một thư mục mới cho ứng dụng nút của bạn:

mkdir node-mysql

Điều hướng đến node-mysql và khởi tạo nó bằng npm:

cd node-mysql
npm init -y

Điều này sẽ tạo ra một tệp package.json, trong số các cấu hình khác, sẽ chứa các phần phụ thuộc của dự án của bạn.

Kết nối Node với MySQL

Có một số cách để bạn có thể kết nối ứng dụng nút của mình với MySQL. Các mysql2 gói là một sự lựa chọn tuyệt vời mà bạn có thể cài đặt bằng một lệnh như sau:

npm install mysql2

Để tạo kết nối, bạn cần một số giá trị cụ thể là máy chủ, cổng, người dùng, cơ sở dữ liệu và mật khẩu. Đây là một ví dụ kết nối với cơ sở dữ liệu được gọi là nodedb trên máy chủ MySQL được cài đặt cục bộ.

const config = {
host: "localhost",
port: 3306,
database: "nodedb",
user: "root",
password: "********",
}

Đây là cấu hình đối tượng bạn sẽ chuyển đến phương thức kết nối như trong chương trình bên dưới.

const mysql = require("mysql2")

const config = {
host: "localhost",
database: "db_name",
user: "mysql_username",
password: "mysql_password",
connectionLimit: 100,
}

const connection = mysql.createConnection(config)

connection.connect(function(err) {
if (err) throw(err);
console.log("Connected!");
});

Khi bạn chuyển chi tiết cơ sở dữ liệu vào mysql.createConnection () , bạn tạo một đối tượng kết nối. Đối tượng kết nối sẽ cho phép bạn thực hiện các giao dịch như tạo, xóa hoặc đọc bảng.

Ví dụ, đoạn mã sau tạo một bảng trong cơ sở dữ liệu mà bạn kết nối.

connection.connect(function(err) {
if (err) throw err;
console.log("Connected!");

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

connection.query(createUser, function(err, results, fields) {
if (err) {
console.log(err.message);
}
});
});

Khi bạn chạy nó, truy vấn này sẽ tạo một bảng mới có tên người dùng trong cơ sở dữ liệu. Truy vấn sử dụng cú pháp chung mà bạn có thể điều chỉnh để tạo một lược đồ cơ sở dữ liệu MySQL phù hợp với nhu cầu của bạn.


Chương trình kết nối ở trên hoạt động tốt nếu bạn chỉ muốn tạo một kết nối duy nhất. Tuy nhiên, khi thực hiện các yêu cầu kết nối đồng thời, tốt nhất là sử dụng một nhóm kết nối.

Kết nối Node với MySQL bằng Nhóm kết nối

Việc mở và đóng các kết nối có thể trở nên tốn kém, đặc biệt là khi có nhiều. Việc gộp kết nối cơ sở dữ liệu giúp giảm chi phí này bằng cách duy trì một nhóm các kết nối mở. Khi có yêu cầu, hồ bơi có thể cung cấp kết nối mở theo yêu cầu.

Bằng cách này, bạn tiết kiệm thời gian vì bạn không phải mở một kết nối mới mỗi lần.

Sử dụng mã sau để tạo nhóm kết nối trong Node:

const mysql = require("mysql2");

const config = {
host: "localhost",
database: "db_name",
user: "mysql_username",
password: "mysql_password",
connectionLimit: 100,
}

const pool = mysql.createPool(config);

pool.query("SELECT * FROM some_table", (err, data) => {
if (err) throw(err)
console.log(data);
});

Hãy nhớ thay đổi chi tiết cấu hình để phù hợp với môi trường của riêng bạn.

Kết nối an toàn với MySQL

Thư viện mysql2 đơn giản hóa quá trình kết nối ứng dụng Node với cơ sở dữ liệu MySQL. Bạn có thể sử dụng một ứng dụng khách hoặc một nhóm kết nối. Tuy nhiên, nếu bạn phải thực hiện nhiều yêu cầu, tốt nhất là sử dụng một nhóm kết nối vì nó ít tốn kém hơn.

Kết nối với cơ sở dữ liệu chỉ là bước đầu tiên. Bạn cũng nên đảm bảo rằng dữ liệu bạn lưu trữ trong cơ sở dữ liệu được bảo mật. Sau tất cả, MySQL là một mục tiêu phổ biến cho những kẻ tấn công. Có một số bước cơ bản bạn có thể thực hiện để bảo mật máy chủ cơ sở dữ liệu MySQL của mình. Đặt mật khẩu người dùng mạnh, hạn chế đăng nhập từ xa và không cấp các đặc quyền không cần thiết.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *