Bất kỳ ngôn ngữ lập trình phía máy chủ nào như Node.js đều cần phải giao tiếp với cơ sở dữ liệu backend để lưu trữ và truy xuất dữ liệu bền vững, dựa trên sự tương tác của nó với ứng dụng phía khách. MySQL là phần mềm RDBMS được sử dụng rộng rãi. Trong chương này, chúng ta sẽ học cách kết nối ứng dụng Node.js với cơ sở dữ liệu MySQL.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở và đa nền tảng, sử dụng SQL (Ngôn ngữ truy vấn có cấu trúc) để tạo, sửa đổi và truy xuất dữ liệu từ các bảng trong cơ sở dữ liệu quan hệ, cũng như kiểm soát quyền truy cập của người dùng vào cơ sở dữ liệu. MySQL cũng hoạt động với hệ điều hành để thực hiện các tính năng quản lý của một cơ sở dữ liệu quan hệ như phân bổ bộ nhớ, quản lý người dùng, cấp quyền truy cập mạng và tạo bản sao lưu.
Để sử dụng MySQL làm backend với ứng dụng Node.js, bạn phải cài đặt MySQL trên máy tính của mình. Hãy cùng tìm hiểu cách cài đặt MySQL trên Linux và Windows.
Cập nhật thông tin gói từ kho APT MySQL bằng lệnh này −
$ sudo apt-get update
Cài đặt MySQL bằng lệnh sau −
$ sudo apt-get install mysql-server
Điều này cài đặt gói cho máy chủ MySQL, cũng như các gói cho khách hàng và cho các tệp chung của cơ sở dữ liệu.
Trong quá trình cài đặt, bạn sẽ được yêu cầu cung cấp mật khẩu cho người dùng root trong cài đặt MySQL của bạn.
Máy chủ MySQL được khởi động tự động sau khi cài đặt. Bạn có thể kiểm tra trạng thái của máy chủ MySQL bằng lệnh sau −
$ systemctl status mysql
Sau đó, cài đặt MySQL Workbench −
$ sudo apt-get install mysql-workbench-community
Tải xuống phiên bản cộng đồng mới nhất của trình cài đặt MySQL cho Windows từ liên kết https://dev.mysql.com/downloads/mysql/ .
Trình cài đặt MSI (mysql-installer-community-8.0.35.0.msi) sẽ được tải xuống. Bắt đầu trình hướng dẫn cài đặt bằng cách nhấp đúp vào nó.
Chọn loại cài đặt "Full" từ màn hình bên dưới −
Trình cài đặt hiển thị danh sách các sản phẩm sẽ được cài đặt:
Trong quá trình cài đặt, hãy chọn một mật khẩu root phù hợp, vừa mạnh mẽ vừa dễ nhớ đối với bạn.
Đây là bước cuối cùng trong trình hướng dẫn cài đặt −
MySQL Workbench bây giờ sẽ khởi động. Đây là một môi trường tích hợp cho MySQL. Nó cho phép người dùng quản lý cơ sở dữ liệu MySQL một cách đồ họa và thiết kế cấu trúc cơ sở dữ liệu một cách trực quan.
Kết nối với máy chủ MySQL đang chạy trên máy của bạn bằng cách nhập mật khẩu −
Tab Schema hiển thị các cơ sở dữ liệu hiện có trên máy chủ.
Trình khách dòng lệnh MySQL cũng được cài đặt trong quá trình cài đặt. Khi bạn khởi động nó, bạn sẽ được yêu cầu nhập mật khẩu root. Lời nhắc mysql sẽ xuất hiện. Bây giờ bạn có thể nhập bất kỳ lệnh MySQL nào trước nó.
Để liệt kê tất cả các cơ sở dữ liệu, hãy sử dụng lệnh show databases;
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sakila | | sys | | world | +--------------------+ 6 rows in set (0.00 sec) mysql>
Bạn có thể tạo một cơ sở dữ liệu mới bằng lệnh create database −
mysql> create database mydb; Query OK, 1 row affected (0.01 sec)
Để sử dụng cơ sở dữ liệu MySQL làm backend, bạn cần cài đặt và bao gồm một driver MySQL từ Node Package Manager (NPM).
Kho lưu trữ NPM chứa mô-đun mysql, đây là một trình điều khiển node.js cho mysql. Nó được viết bằng JavaScript, không cần biên dịch và được cấp phép 100% theo giấy phép MIT.
Nếu bạn đã cài đặt phiên bản mới nhất của Node.js runtime (V10 hoặc mới hơn), npm đã có sẵn. Để cài đặt mô-đun mysql, hãy sử dụng lệnh sau trong terminal lệnh −
npm install mysql
Note − rằng trang web chính thức của MySQL cũng cung cấp một trình điều khiển Connector/Node.js X DevAPI. Từ phiên bản 8.0 trở đi, MySQL hỗ trợ NoSQL Document Store. Trình điều khiển Connector/Node.js đặc biệt cần thiết nếu bạn có ý định sử dụng các tính năng NoSQL của MySQL. Trong hướng dẫn này, chúng tôi đang sử dụng mô-đun mysql, được cài đặt từ NPM.
Bước đầu tiên là nhập mô-đun mysql vào mã của bạn bằng câu lệnh require() sau đây −
var mysql = require('mysql');
Hàm createConnection() trong mô-đun này sử dụng thông tin xác thực được cung cấp dưới dạng đối số và trả về đối tượng kết nối.
createConnection(connectionUri: string | mysql.ConnectionConfig): mysql.Connection
Cách sử dụng phổ biến nhất của hàm createConnection() như sau −
var con = mysql.createConnection({ host: "localhost", user: "root", password: "mypassword" });
Bạn phải sử dụng phương thức connect() của đối tượng kết nối.
con.connect(function (err) { if (err) throw err; console.log("Connected!"); });
Nếu kết nối thành công, bạn sẽ nhận được thông báo "Connected!" trong bảng điều khiển.