Các bước để kết nối với cơ sở dữ liệu MySQL bằng cách sử dụng gói mysql2 trong Node.js
https://sidorares.github.io/node-mysql2/docs
Last updated
https://sidorares.github.io/node-mysql2/docs
Last updated
Chúng ta sẽ khám phá cách kết nối ứng dụng Node.js với cơ sở dữ liệu MySQL bằng gói mysql2. MySQL có thể được sử dụng rộng rãi như một cơ sở dữ liệu quan hệ và mysql2 cung cấp quyền truy cập nhanh, an toàn và dễ dàng vào máy chủ MySQL, nó có thể cho phép bạn xử lý các truy vấn cơ sở dữ liệu hiệu quả trong các ứng dụng Node.js. Chúng ta sẽ đề cập đến tất cả các phương pháp có thể để thiết lập kết nối và trình bày từng phương pháp với hướng dẫn từng bước.
Sau đây là những cách để kết nối với cơ sở dữ liệu MySQL bằng gói mysql2 trong NodeJS:
Mở terminal hoặc dấu nhắc lệnh và điều hướng đến thư mục mà bạn muốn tạo dự án. Chúng ta có thể chạy lệnh sau để khởi tạo dự án Node.js mới.
Chúng ta có thể cài đặt gói mysql2 và sử dụng lệnh sau.
Mở Bảng điều khiển XAMPP: Khởi chạy Bảng điều khiển XAMPP.
Khởi động Apache và MySQL: Nhấp vào nút "Bắt đầu" cho cả Apache và MySQL.
Mở trình duyệt web của bạn: Nhập http://localhost/phpmyadmin vào thanh địa chỉ và nhấn Enter.
Truy cập phpMyAdmin: Thao tác này sẽ đưa bạn đến giao diện phpMyAdmin.
Đi tới cấu trúc và chạy lệnh sau:
Phương pháp kết nối cơ bản là phương pháp đơn giản và trực tiếp để thiết lập kết nối với cơ sở dữ liệu MySQL và thực hiện truy vấn. Trong phương pháp này, chúng ta có thể tạo kết nối, chạy truy vấn và sau đó đóng kết nối khi công việc hoàn tất. Phương pháp này có thể phù hợp với các dự án nhỏ hoặc khi bạn không cần chạy nhiều hoạt động cơ sở dữ liệu cùng lúc.
Tạo kết nối : Sử dụng hàm mysql2.createConnection() để tạo đối tượng kết nối bằng cách truyền các thông tin cấu hình máy chủ, người dùng, mật khẩu và tên cơ sở dữ liệu.
Thực hiện truy vấn : Sau khi kết nối được thiết lập, hãy sử dụng phương thức connection.query() để thực hiện các truy vấn SQL trên cơ sở dữ liệu.
Xử lý lỗi : Bất kỳ lỗi kết nối nào cũng được truyền dưới dạng tham số đầu tiên của hàm gọi lại và phải được xử lý phù hợp.
Đóng kết nối : Sau khi truy vấn cơ sở dữ liệu xong, hãy đóng kết nối bằng cách sử dụng connection.end() để giải phóng tài nguyên.
app.js
Chúng ta có thể sử dụng lệnh sau để chạy ứng dụng.
Phương pháp dựa trên lời hứa có thể liên quan đến phương pháp kết nối cơ bản bằng cách sử dụng các lời hứa JavaScript. Điều này có thể cho phép mã bất đồng bộ hiệu quả và dễ đọc hơn, đặc biệt là khi bạn có nhiều truy vấn để thực thi. Thay vì sử dụng các lệnh gọi lại, các lời hứa có thể giúp tránh việc lồng nhau và giúp xử lý các tình huống thành công và thất bại dễ dàng hơn bằng cách sử dụng .then() và .catch() hoặc async/await.
Tạo kết nối: Sử dụng mô-đun mysql2/promise để tạo kết nối với API dựa trên promise.
Thực thi truy vấn : Truy vấn được thực thi bằng phương thức execute(), phương thức này trả về lời hứa giải quyết bằng kết quả truy vấn.
Cú pháp async/await : Chúng ta có thể sử dụng cú pháp async/await để viết mã trông có vẻ đồng bộ nhưng hoạt động bất đồng bộ, giúp việc đọc và quản lý dễ dàng hơn.
Ví dụ: Ví dụ này cho thấy cách triển khai phương pháp được giải thích ở trên.
rong các ứng dụng lớn hơn, nơi bạn cần xử lý nhiều yêu cầu cơ sở dữ liệu đồng thời một cách hiệu quả, tốt hơn là sử dụng nhóm kết nối. Thay vì tạo và đóng kết nối cho mọi truy vấn và nhóm kết nối từ nhóm và trả về khi truy vấn hoàn tất.
Tạo nhóm kết nối : Nhóm kết nối được tạo bằng cách sử dụng mysql.createpool(). Nhóm này có thể duy trì nhiều kết nối có thể được sử dụng lại và giảm chi phí tạo và đóng kết nối thường xuyên.
Quản lý kết nối hiệu quả : Nhóm quản lý số lượng kết nối đã đặt (ví dụ: 10), có thể được sử dụng bởi các truy vấn khác nhau. Khi truy vấn được chạy, nhóm sẽ chọn một kết nối khả dụng.
Thực hiện truy vấn : Truy vấn được thực hiện bằng cách sử dụng pool.query(). Sau khi truy vấn hoàn tất, kết nối có thể được trả về nhóm để sử dụng lại.
Ví dụ: Ví dụ này cho thấy cách triển khai phương pháp được giải thích ở trên.
Tiếp cận
Trường hợp sử dụng tốt nhất
Thuận lợi
Nhược điểm
Kết nối cơ bản
Ứng dụng đơn giản với truy vấn hạn chế.
Dễ dàng thực hiện tương tác trực tiếp.
Không hiệu quả cho các truy vấn thường xuyên và chi phí kết nối.
Lời hứa
Các ứng dụng trung bình cần nhiều truy vấn.
Luồng bất đồng bộ sạch, xử lý lỗi tốt hơn với các lời hứa.
Yêu cầu phải hiểu về các lời hứa hoặc async/await.
Kết nối nhóm
Ứng dụng quy mô lớn với tính đồng thời cao
Hiệu suất hiệu quả, khả năng tái sử dụng kết nối, khả năng mở rộng.
Thiết lập phức tạp hơn, cần phải điều chỉnh cẩn thận giới hạn của nhóm.
Gói mysql2 trong Node.js cung cấp nhiều cách khác nhau để kết nối và truy vấn cơ sở dữ liệu MySQL, mỗi cách phù hợp với các loại ứng dụng khác nhau. Phương pháp kết nối cơ bản hoạt động tốt đối với các ứng dụng đơn giản, trong khi phương pháp dựa trên lời hứa có thể lý tưởng cho mã bất đồng bộ sạch hơn và dễ quản lý hơn. Đối với các ứng dụng lớn hơn và có khả năng mở rộng hơn, nhóm kết nối cung cấp hiệu suất tốt hơn bằng cách sử dụng lại các kết nối. Bằng cách chọn đúng phương pháp dựa trên nhu cầu của ứng dụng, chúng ta có thể đảm bảo tương tác hiệu quả với cơ sở dữ liệu MySQL.
Bạn muốn trở thành Nhà phát triển phần mềm hoặc Chuyên gia đang làm việc muốn nâng cao Kỹ năng phát triển phần mềm của mình ? Vậy thì, hãy nắm vững các khái niệm về Phát triển Full-Stack. Khóa học Phát triển Full-Stack - React và Node.js của chúng tôi sẽ giúp bạn đạt được điều này một cách nhanh chóng. Tìm hiểu mọi thứ từ Phát triển Front-End đến Back-End với các Dự án thực hành và các ví dụ thực tế. Khóa học này cho phép bạn xây dựng các ứng dụng web có khả năng mở rộng, hiệu quả và năng động, nổi bật. Sẵn sàng trở thành chuyên gia về Full-Stack? Đăng ký ngay và bắt đầu tạo ra tương lai!