Biết cách kết nối với cơ sở dữ liệu và truy xuất dữ liệu từ đó là rất quan trọng vì phần lớn các ứng dụng trong thế giới thực lưu trữ dữ liệu của họ ở đó
Một trong những cơ sở dữ liệu quan hệ được sử dụng rộng rãi nhất và đơn giản để sử dụng, MySQL là một lựa chọn tuyệt vời cho cơ sở dữ liệu
Trước khi bắt đầu
Trước tiên, hãy cài đặt máy chủ MySQL, tạo cơ sở dữ liệu trống và đảm bảo bạn có sẵn tên người dùng và mật khẩu vì lúc này bạn sẽ kiểm tra mã kết nối trên máy chủ MySQL cục bộ
Tạo một ứng dụng nút
Chạy lệnh sau trong thiết bị đầu cuối của bạn để tạo một thư mục mới cho ứng dụng nút của bạn
_10Chuyển đến thư mục nút-mysql và sử dụng npm để khởi tạo nó
________Đầu tiênĐiều này sẽ tạo ra một gói. json, trong số các cấu hình khác, sẽ chứa các phụ thuộc của dự án của bạn
Kết nối nút với MySQL
Gói mysql2 mà bạn có thể cài đặt bằng một lệnh như thế này, là một tùy chọn tuyệt vời để kết nối ứng dụng nút của bạn với MySQL
npm install mysql2
Đây là một ví dụ kết nối với cơ sở dữ liệu có tên là nodeb trên máy chủ MySQL được cài đặt cục bộ; . máy chủ, cổng, người dùng, cơ sở dữ liệu và mật khẩu
const config = {
host: "localhost",
port: 3306,
database: "nodedb",
user: "root",
password: "********",
}
Bạn sẽ truyền đối tượng cấu hình này cho phương thức kết nối 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!"];
}];
Bạn tạo một đối tượng kết nối bằng cách chuyển thông tin cơ sở dữ liệu tới mysql. phương thức createConnection[]. Bạn có thể thực hiện các giao dịch bằng cách sử dụng đối tượng kết nối, chẳng hạn như thêm, xóa hoặc đọc bảng
Chẳng hạn, mã bên dưới tạo một bảng trong cơ sở dữ liệu mà bạn đã kết nối với
_15Truy vấn này sử dụng cú pháp tiêu chuẩn mà bạn có thể sửa đổi để xây dựng lược đồ cơ sở dữ liệu MySQL đáp ứng yêu cầu của bạn và khi bạn chạy nó, nó sẽ thêm một bảng mới có tên là người dùng vào cơ sở dữ liệu
Khi thực hiện các yêu cầu kết nối đồng thời, tốt nhất nên sử dụng nhóm kết nối thay vì chương trình kết nối được đề cập ở trên, điều này tốt nếu bạn chỉ muốn thiết lập một kết nối
Sử dụng Nhóm kết nối, kết nối Nút với MySQL
Tổng hợ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 kết nối mở, điều này có thể tốn kém khi có nhiều kết nối để mở và đóng. Nhóm có thể cung cấp một kết nối mở theo yêu cầu khi một kết nối được thực hiện
Bạn tiết kiệm thời gian bằng cách làm điều này vì bạn không cần phải mở một kết nối mới mỗi lần
Tạo nhóm kết nối trong Node bằng mã bên dưới
_16Đừng quên sửa đổi thông tin cấu hình cho phù hợp với môi trường cụ thể của bạn
Kết nối an toàn với MySQL
Bạn có thể sử dụng một máy khách hoặc nhóm kết nối với thư viện mysql2 để kết nối ứng dụng Node với cơ sở dữ liệu MySQL dễ dàng hơn. Tuy nhiên, vì nhóm kết nối ít tốn kém hơn nên bạn nên sử dụng một nhóm nếu bạn cần gửi nhiều yêu cầu
Bước đầu tiên là kết nối với cơ sở dữ liệu, nhưng bước tiếp theo là đảm bảo dữ liệu bạn lưu trữ ở đó an toàn. Có một số biện pháp đơn giản mà 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 vì xét cho cùng, MySQL là mục tiêu phổ biến của những kẻ tấn công. Tạo mật khẩu người dùng an toàn, cấm đăng nhập từ xa và giữ lại mọi đặc quyền trái phép
Nút. js là môi trường thời gian chạy mã nguồn mở và đa nền tảng được xây dựng trên công cụ V8 của Chrome cho phép chúng tôi sử dụng JavaScript bên ngoài trình duyệt. Nút. js giúp chúng tôi sử dụng xây dựng các ứng dụng phía máy chủ bằng JavaScript. Trong bài viết này, chúng tôi sẽ thảo luận về cách kết nối Node. ứng dụng js vào MySQL. Để kết nối nút. js với cơ sở dữ liệu MySQL, chúng tôi cần mô-đun mysql của bên thứ ba
Hầu hết các ứng dụng trong thế giới thực đều lưu trữ 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ừ đó
MySQL là một lựa chọn tuyệt vời cho 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 đã hoàn tất, hãy tạo một cơ sở dữ liệu trống và đảm bảo rằng bạn có sẵn tên người dùng và mật khẩu
Tạo một ứ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 thư mục nút-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 gói. 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 nút 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. Gói mysql2 là một lựa chọn tuyệt vời, bạn có thể cài đặt gói này bằng một lệnh như thế này
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. Dưới đây là một ví dụ kết nối với cơ sở dữ liệu có tên là gật đầu 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à đối tượng cấu hình mà 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 tới mysql. phương thức 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 với
________số 8Khi bạn chạy nó, truy vấn này sẽ tạo một bảng mới có tên là người dùng trong cơ sở dữ liệu. Truy vấn sử dụng cú pháp phổ biến mà bạn có thể điều chỉnh để tạo lược đồ cơ sở dữ liệu MySQL phù hợp với nhu cầu của mình
Chương trình kết nối ở trên hoạt động tốt nếu bạn chỉ muốn thực hiện 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 nên sử dụng nhóm kết nối
Kết nối nút với MySQL bằng nhóm kết nối
Mở và đóng kết nối có thể trở nên tốn kém, đặc biệt là khi có nhiều. Nhóm kết nối cơ sở dữ liệu giúp giảm chi phí này bằng cách duy trì nhóm kết nối mở. Khi có yêu cầu, nhóm 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ì không phải mở kết nối mới mỗi lần
Sử dụng đoạn 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 máy khách hoặc 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 nên sử dụng 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. Rốt cuộc, MySQL là mục tiêu phổ biến của 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