Kết nối MySQL với NodeJS

Connecting Mysql With Nodejs



Máy chủ MySQL là một máy chủ cơ sở dữ liệu rất phổ biến và nó được hỗ trợ bởi hầu hết các ngôn ngữ lập trình được sử dụng, chẳng hạn như PHP, Python, Perl, Java, C #, v.v. Nó là một ứng dụng mã nguồn mở, vì vậy bất kỳ ai cũng có thể tải xuống ứng dụng này để lưu trữ, truy xuất. , cập nhật và xóa dữ liệu bằng cách sử dụng các truy vấn cơ sở dữ liệu. Bạn sẽ yêu cầu cài đặt gói máy chủ và máy khách trong hệ thống của mình để thực hiện các kiểu hoạt động cơ sở dữ liệu khác nhau trong máy chủ cơ sở dữ liệu. Máy chủ MySQL hiện đang trở nên phổ biến đối với các nhà phát triển Node. Các nhà phát triển nút bắt đầu sử dụng máy chủ MySQL với MongoDB cho một số tính năng đặc biệt của máy chủ MySQL. Cách bạn có thể tạo kết nối với máy chủ MySQL bằng máy khách node-mysql được hiển thị trong hướng dẫn này.

Điều kiện tiên quyết:

Trước khi bắt đầu hướng dẫn này, bạn phải xác nhận rằng máy chủ MySQL và các gói máy khách đã được cài đặt và hoạt động bình thường trong hệ thống của bạn. Nếu bạn cài đặt máy chủ MySQL lần đầu tiên thì mật khẩu của người dùng root sẽ trống theo mặc định. Nhưng bạn phải đặt mật khẩu cho người dùng root để tạo kết nối với máy chủ MySQL bằng cách sử dụng node-mysql khách hàng. Bạn có thể kiểm tra điều này hướng dẫn để biết cách thay đổi mật khẩu gốc của máy chủ MySQL.







Chạy các lệnh sau để hoạt động với tư cách người dùng root và kết nối với máy chủ MySQL bằng cách sử dụng máy khách MySQL.



$sudo -tôi
$ mysql-unguồn gốc-P

Nhập mật khẩu gốc và chạy các lệnh SQL sau để tạo cơ sở dữ liệu mới, tạo bảng trên cơ sở dữ liệu đó và chèn một số bản ghi trong bảng đó.



Lệnh sau sẽ tạo một cơ sở dữ liệu có tên mydb .





TẠO RA CƠ SỞ DỮ LIỆU mydb;

Lệnh sau để chọn cơ sở dữ liệu để thực hiện các hoạt động cơ sở dữ liệu.

sử dụng mydb;

Lệnh sau sẽ tạo một bảng có tên sách trong cơ sở dữ liệu mydb.



TẠO RA BÀN sách(
Tôi NS (6) CHƯA KÝ AUTO_INCREMENT KHÓA CHÍNH ,
chức vụ VARCHAR (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
tác giả VARCHAR (năm mươi) KHÔNG PHẢI VÔ GIÁ TRỊ ,
giá bán NS (5));

Lệnh sau sẽ chèn bốn bản ghi vào sách bàn.

CHÈN VÀO TRONG sách giá trị
( VÔ GIÁ TRỊ ,'Học PHP và MySQL', 'Robin Nixon', Bốn năm),
( VÔ GIÁ TRỊ ,'Học JQuery', 'Jonathan', 35),
( VÔ GIÁ TRỊ ,'Angular in Action', 'Jeremy', năm mươi),
( VÔ GIÁ TRỊ ,'Làm chủ Laravel', 'Christopher', 55);

Cài đặt máy khách mysql cho nodejs:

Chạy lệnh sau để kiểm tra nodejs được cài đặt trong hệ thống trước khi chạy lệnh cài đặt máy khách mysql của nodejs. Nó sẽ hiển thị phiên bản đã cài đặt của nodejs.

$nút-v

Nếu nó chưa được cài đặt thì bạn phải cài đặt nó bằng cách chạy lệnh sau.

$sudo apt-get cài đặtnodejs

Bạn sẽ yêu cầu một gói khác có tên trên mực nước biển được cài đặt trong hệ thống để cài đặt máy khách mysql cho nodejs. Nếu nó chưa được cài đặt trước khi chạy lệnh sau để cài đặt trên mực nước biển .

$sudo apt-get cài đặttrên mực nước biển

Bây giờ, hãy chạy lệnh sau để cập nhật hệ thống.

$sudo apt-get cập nhật

Lệnh sau sẽ cài đặt mysql mô-đun cho nodejs sẽ hoạt động như máy khách mysql.

$trên mực nước biểnTải vềmysql

Kết nối MySQL đơn giản bằng NodeJS:

Tạo một tệp JS có tên connect1.js với tập lệnh sau để tạo kết nối với cơ sở dữ liệu đã tạo trước đó có tên mydb và đọc dữ liệu từ sách bàn. mysql mô-đun được nhập và sử dụng để tạo kết nối đơn giản với máy chủ MySQL. Tiếp theo, một truy vấn sẽ được thực hiện để đọc tất cả các bản ghi từ sách bảng, nếu cơ sở dữ liệu được kết nối đúng cách. Nếu truy vấn được thực thi đúng thì tất cả các bản ghi của sách bảng sẽ được in trong thiết bị đầu cuối và kết nối cơ sở dữ liệu sẽ bị đóng.

connect1.js

// Nhập mô-đun mysql
hãy để mysql=yêu cầu('mysql');

// Thiết lập tham số kết nối cơ sở dữ liệu
để kết nối=mysql.createConnection({
tổ chức: 'localhost',
người sử dụng: 'nguồn gốc',
mật khẩu mở khóa: '1234',
cơ sở dữ liệu: 'mydb'
});

// Kết nối với cơ sở dữ liệu
sự liên quan.liên kết(hàm số() {
nếu như () {

// Hiển thị thông báo lỗi khi bị lỗi
trở lạibàn điều khiển.lỗi('lỗi: ' +Và.thông điệp);
}

// Hiển thị thông báo thành công nếu được kết nối
bàn điều khiển.khúc gỗ(' Đã kết nối với máy chủ MySQL ... ');
});

// Đặt thông báo truy vấn
truy vấn $= 'CHỌN * từ sách';

// Thực thi truy vấn cơ sở dữ liệu
sự liên quan.truy vấn(truy vấn $, hàm số(,hàng) {
nếu như(){

// Hiển thị thông báo lỗi
bàn điều khiển.khúc gỗ('Đã xảy ra lỗi khi thực hiện truy vấn.');
trở lại;
}
/ * Hiển thị dữ liệu đã định dạng được truy xuất từ ​​bảng 'sách'
sử dụng vòng lặp for * /

bàn điều khiển.khúc gỗ('Các bản ghi của bảng sách: ');
bàn điều khiển.khúc gỗ('Tiêu đềNSNSNSNSTác giảNSNSgiá bán ');
(để hàng hàng) {
bàn điều khiển.khúc gỗ(hàng ngang['chức vụ'],'NSNS',hàng ngang['tác giả'],'NS','$',hàng ngang['giá bán']);
}
});

// Đóng kết nối cơ sở dữ liệu
sự liên quan.kết thúc(hàm số(){
bàn điều khiển.khúc gỗ(' Kêt nôi bị đong. ');
});

Đầu ra:

Chạy lệnh sau để thực thi tập lệnh.

$node connection1.js

Kết quả sau sẽ xuất hiện sau khi chạy tập lệnh.

Kết nối MySQL gộp bằng NodeJS:

Tạo kết nối MySQL đơn giản với NodeJS bằng cách sử dụng mysql mô-đun được hiển thị trong ví dụ trước. Nhưng nhiều người dùng có thể kết nối với máy chủ cơ sở dữ liệu tại một thời điểm thông qua ứng dụng khi ứng dụng được tạo bằng MySQL cơ sở dữ liệu cho mục đích sản xuất. Bạn sẽ yêu cầu thể hiện mô-đun để xử lý người dùng cơ sở dữ liệu đồng thời và hỗ trợ nhiều kết nối cơ sở dữ liệu.

Chạy lệnh sau để cài đặt thể hiện mô-đun.

$trên mực nước biểnTải vềthể hiện

Tạo một tệp JS có tên connect2.js với tập lệnh sau. Nếu bạn kết nối với MySQL bằng tập lệnh sau thì 10 người dùng đồng thời sẽ có thể tạo kết nối với máy chủ cơ sở dữ liệu và truy xuất dữ liệu từ bảng dựa trên truy vấn. Nó sẽ tạo kết nối ở cổng 5000.

connect2.js

// Nhập mô-đun mysql
ở đâumysql=yêu cầu('mysql');

// Nhập mô-đun express
ở đâuthể hiện=yêu cầu('thể hiện');

// Xác định đối tượng của mô-đun express
ở đâuứng dụng=thể hiện();

// Tạo kết nối cơ sở dữ liệu để xử lý 10 người dùng đồng thời
ở đâuHồ bơi=mysql.createPool({
kết nối:10,
tổ chức: 'localhost',
người sử dụng: 'nguồn gốc',
mật khẩu mở khóa: '1234',
cơ sở dữ liệu: 'mydb',
gỡ lỗi: thật
});

/ * Tạo kết nối tổng hợp với cơ sở dữ liệu và đọc các bản ghi cụ thể từ một bảng trong đó
cơ sở dữ liệu * /

hàm sốhandle_database(lời yêu cầu,phản ứng) {

// Kết nối
Hồ bơi.getConnection(hàm số(,sự liên quan){
nếu như () {

// Gửi thông báo lỗi cho kết nối không thành công và chấm dứt
phản ứng.json({'mã số' : 300, 'trạng thái' : 'Lỗi kết nối cơ sở dữ liệu'});
trở lại;
}

// Hiển thị thông báo thành công trong thiết bị đầu cuối
bàn điều khiển.khúc gỗ('Cơ sở dữ liệu được kết nối');

// Đọc các bản ghi cụ thể từ bảng sách
sự liên quan.truy vấn('CHỌN * từ sách có tiêu đề như'% PHP% 'hoặc tiêu đề như
'% Laravel%' '
,hàm số(,hàng){sự liên quan.phóng thích();
nếu như(!) {

// Trả về tập kết quả của truy vấn nếu nó được thực thi thành công
phản ứng.json(hàng);
}
});

// Kiểm tra lỗi kết nối có xảy ra hay không
sự liên quan.trên('lỗi', hàm số() {
phản ứng.json({'mã số' : 300, 'trạng thái' : 'Lỗi kết nối cơ sở dữ liệu'});
trở lại;
});
});
}

// Gọi hàm để tạo kết nối
ứng dụng.hiểu được('/',hàm số(lời yêu cầu,phản ứng){-
handle_database(lời yêu cầu,phản ứng);
});

// Nghe yêu cầu kết nối trên cổng 5000
ứng dụng.nghe(5000);

Đầu ra:

Chạy tập lệnh từ thiết bị đầu cuối giống như ví dụ trước. Nó sẽ đợi yêu cầu kết nối sau khi chạy tập lệnh.

$nút kết nối2.js

Bây giờ, hãy mở bất kỳ trình duyệt nào và truy cập URL sau để gửi yêu cầu kết nối.

http: // localhost: 5000

Kết quả sau sẽ xuất hiện dưới dạng phản hồi sau khi thực hiện truy vấn.

Nếu bạn mở terminal bây giờ thì bạn sẽ thấy kết quả sau.

Mười yêu cầu kết nối có thể được gửi cùng một lúc từ 10 trình duyệt theo cách đã đề cập ở trên.

Phần kết luận:

Các cách đơn giản nhất để làm việc với MySQL và NodeJS được trình bày bằng hai ví dụ trong hướng dẫn này. Nếu bạn là một nhà phát triển Node mới và muốn làm việc với cơ sở dữ liệu MySQL thì tôi hy vọng bạn sẽ có thể thực hiện nhiệm vụ của mình sau khi đọc hướng dẫn này.