Cách cài đặt và sử dụng Microsoft SQL Server trên Debian 11

theanh

Administrator
Nhân viên
MSSQL Server hay Microsoft SQL Server là một RDBMS (Hệ thống quản lý cơ sở dữ liệu quan hệ) do Microsoft phát triển. Là một máy chủ cơ sở dữ liệu, nó được sử dụng để lưu trữ dữ liệu cho các ứng dụng của bạn. SQL Server lý tưởng cho nhiều mục đích ứng dụng, bạn có thể sử dụng MS SQL Server làm cơ sở dữ liệu cho các ứng dụng máy tính để bàn, sử dụng cho các ứng dụng web hoặc bất kỳ ứng dụng máy chủ nhỏ nào.

Hướng dẫn này sẽ chỉ cho bạn cách cài đặt và sử dụng Microsoft SQL database Server trên Debian 11. Trước tiên, bạn sẽ thiết lập kho lưu trữ MSSQL Server rồi cài đặt kho lưu trữ đó. Sau đó, bạn sẽ thiết lập tường lửa UFW và cài đặt MSSQL Tools sẽ được sử dụng để quản lý MSSQL Server. Cuối cùng, bạn sẽ sử dụng Công cụ MSSQL để kết nối với Máy chủ MSSQL và tìm hiểu các thao tác cơ bản cho CRUD (Tạo, Đọc, Cập nhật và Xóa) trên Máy chủ MSSQL.

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

Để làm theo và hoàn thành hướng dẫn này, bạn sẽ cần các yêu cầu sau:
  • Máy chủ Linux chạy Debian 11 với bộ nhớ tối thiểu 4 GB - Ví dụ này sử dụng máy chủ Debian có tên máy chủ 'mssql-deb' và địa chỉ IP '192.168.5.10'.
  • Người dùng không phải root có quyền sudo root/administrator.
Khi các yêu cầu này đã sẵn sàng, bạn có thể bắt đầu quá trình cài đặt Máy chủ MSSQL.

Thiết lập kho lưu trữ​

Trong bước đầu tiên này, bạn sẽ thiết lập kho lưu trữ MSSQL Server trên máy chủ Debian của mình. Bạn sẽ thiết lập kho lưu trữ MSSQL Server cho MSSQL Server 2019.

Để bắt đầu, hãy đăng nhập vào máy chủ của bạn với tư cách là người dùng của bạn và thực hiện lệnh 'sudo su' để có được quyền root. Sau đó, nhập lệnh apt để cập nhật và làm mới chỉ mục gói của bạn.
Mã:
sudo su
sudo apt update
Bây giờ hãy cài đặt một số phụ thuộc cơ bản bằng lệnh 'apt install' sau. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install gnupg2 apt-transport-https wget curl

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22346%22%3E%3C/svg%3E


Tiếp theo, sử dụng lệnh 'wget' sau để tải xuống khóa GPG của kho lưu trữ Microsoft SQL Server. Sau đó, chuyển đổi tệp GPG từ .asc sang .gpg bằng lệnh 'gpg --dearmor' bên dưới.
Mã:
wget -q -O- https://packages.microsoft.com/keys/microsoft.asc | \
 gpg --dearmor | sudo tee /usr/share/keyrings/microsoft.gpg > /dev/null 2>&1
Bây giờ hãy nhập lệnh bên dưới để thêm kho lưu trữ MSSQL Server vào hệ thống Debian của bạn. Vì Microsoft không cung cấp gói MSSQL Server cho bản phân phối Debian, nên bạn sẽ sử dụng gói MSSQL Server cho Ubuntu.
Mã:
echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019 focal main" | \
 sudo tee /etc/apt/sources.list.d/mssql-server-2019.list
Cuối cùng, nhập lệnh 'apt' sau để cập nhật và làm mới chỉ mục gói Debian của bạn và áp dụng các thay đổi.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22141%22%3E%3C/svg%3E


Bây giờ bạn đã thêm kho lưu trữ MSSQL Server, bạn đã sẵn sàng để cài đặt và cấu hình MSSQL Server.

Cài đặt MSSQL Server 2019​

Trong bước này, bạn sẽ cài đặt gói MSSQL Server 2019 vào hệ thống Debian của mình thông qua kho lưu trữ MSSQL Server chính thức. Sau đó, bạn sẽ thiết lập cài đặt bằng cách chọn loại MSSQL Server mà bạn muốn cài đặt và thiết lập mật khẩu mặc định để xác thực MSSQL Server.

Để cài đặt gói MSSQL Server, hãy nhập lệnh 'apt install' sau. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo apt install mssql-server

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22231%22%3E%3C/svg%3E


Sau khi MSSQL Server được cài đặt, bạn sẽ nhận được thông báo như thế này - Hướng dẫn hoàn tất cài đặt MSSQL Server.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22664%22%20height=%22185%22%3E%3C/svg%3E


Nhập lệnh sau để thiết lập và cấu hình cài đặt MSSQL Server của bạn.
Mã:
sudo /opt/mssql/bin/mssql-conf setup
Trong quá trình này, bạn sẽ được hỏi về các cấu hình sau:
  • Chọn phiên bản MSSQL Server mà bạn muốn cài đặt. Nhập số 3 để cài đặt Express MSSQL Server vào hệ thống Debian của bạn.
  • Bây giờ nhập 'Có' để xác nhận và chấp nhận các điều khoản cấp phép.
  • Cuối cùng, nhập mật khẩu mới cho cài đặt MSSQL Server của bạn và lặp lại.
Khi cài đặt thành công, bạn sẽ nhận được thông báo như 'Thiết lập đã hoàn tất thành công. SQL Server hiện đang chạy'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22731%22%3E%3C/svg%3E


Nhập tiện ích lệnh systemctl sau để xác minh trạng thái của MSSQL Server và đảm bảo rằng nó đang chạy.
Mã:
sudo systemctl is-enabled mssql-server
sudo systemctl status mssql-server
Đầu ra 'enabled' xác nhận rằng MSSQL Server sẽ khởi động tự động khi khởi động hệ thống. Và trạng thái của MSSQL Server là 'hoạt động (đang chạy)'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22260%22%3E%3C/svg%3E


Trong bước này, bạn đã cài đặt và cấu hình MSSQL Server. Bạn cũng đã xác minh rằng MSSQL Server đang chạy và được bật. Ở bước tiếp theo, bạn sẽ thiết lập tường lửa UFW.

Thiết lập UFW​

Sau khi cài đặt và cấu hình MSSQL Server, bây giờ bạn sẽ cài đặt UFW, mở ứng dụng OpenSSH, sau đó mở cổng mặc định 1443 được MSSQL Server sử dụng.

Cài đặt UFW bằng lệnh 'apt install' sau. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install ufw

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22680%22%20height=%22315%22%3E%3C/svg%3E


Sau khi ufw được cài đặt, hãy nhập lệnh sau để thêm dịch vụ OpenSSH và cổng MSSQL Server 1433/tcp vào ufw.
Mã:
sudo ufw allow OpenSSH
sudo ufw allow 1433/tcp
Tiếp theo, khởi động và kích hoạt ufw bằng lệnh sau. Khi được nhắc xác nhận, nhập y và nhấn ENTER để tiếp tục. Với lệnh này, tường lửa ufw sẽ chạy và được bật.
Mã:
sudo ufw enable

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22734%22%20height=%22228%22%3E%3C/svg%3E


Để đảm bảo rằng ufw đang chạy và dịch vụ OpenSSH cùng cổng '1433/tcp' của MSSQL Server đã được thêm vào, hãy nhập lệnh sau để kiểm tra trạng thái của ufw.
Mã:
sudo ufw status
Đầu ra 'Trạng thái: active' xác nhận rằng ufw đang chạy. Ngoài ra, bạn sẽ thấy dịch vụ OpenSSH và cổng 1433/tcp đã được thêm vào và có sẵn trên ufw.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22522%22%20height=%22214%22%3E%3C/svg%3E


Bây giờ bạn đã cài đặt ufw và thêm dịch vụ OpenSSH và cổng MSSQL Server '1433/tcp' vào ufw. Trong bước tiếp theo, bạn sẽ cài đặt MSSQL Tools trên hệ thống Debian của mình.

Cài đặt MSSQL Tools​

Tại thời điểm này, bạn đã cài đặt và bảo mật MSSQL Server trên hệ thống Debian. Hiện tại, bạn sẽ cài đặt MSSQL Tools để kết nối và quản lý MSSQL Server của bạn. MSSQL Tools có sẵn trên các kho lưu trữ khác nhau, vì vậy bạn cần thêm kho lưu trữ MSSQL Tools, sau đó cài đặt qua APT.

Nhập lệnh sau để thêm kho lưu trữ cho gói MSSQL Tools.
Mã:
echo "deb [signed-by=/usr/share/keyrings/microsoft.gpg arch=amd64,armhf,arm64] https://packages.microsoft.com/ubuntu/20.04/prod focal main" | \
 sudo tee /etc/apt/sources.list.d/prod.list
Sau đó, hãy cập nhật và làm mới chỉ mục gói của bạn qua lệnh 'apt update' bên dưới.
Mã:
sudo apt update

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22163%22%3E%3C/svg%3E


Bây giờ hãy nhập lệnh 'apt install' sau để cài đặt gói Công cụ MSSQL. Nhập y khi được nhắc và nhấn ENTER để tiếp tục.
Mã:
sudo apt install mssql-tools unixodbc-dev

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22303%22%3E%3C/svg%3E


Khi được nhắc xác nhận các điều khoản cấp phép, hãy chọn Có để chấp nhận và nhấn ENTER để tiếp tục.









Sau khi cài đặt hoàn tất, các tệp nhị phân của MSSQL Tools sẽ có trong thư mục '/opt/mssql-tools/bin'. Nhập lệnh sau để xác minh danh sách các tệp trong thư mục '/opt/mssql-tools/bin' và bạn sẽ thấy hai tệp nhị phân 'bcp' và 'sqlcmd'.
Mã:
ls /opt/mssql-tools/bin
Với cấu hình mặc định, MSSQL Tools chỉ có thể được thực thi trong thư mục '/opt/mssql-tools/bin'. Để giải quyết vấn đề này, bạn phải thêm thư mục '/opt/mssql-tools/bin' vào môi trường PATH của hệ thống thông qua cấu hình '~/.bashrc'.

Nhập lệnh sau để thêm '/opt/mssql-tools/bin' vào biến môi trường PATH nhị phân.
Mã:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
Bây giờ hãy tải lại tệp cấu hình '~/.bashrc' và xác minh biến môi trường PATH. Khi thành công, bạn sẽ thấy thư mục '/opt/mssql-tools/bin' có trong danh sách PATH nhị phân.
Mã:
source ~/.bashrc
echo $PATH
Cuối cùng, nhập lệnh sau để đảm bảo rằng bạn có thể thực thi các tiện ích lệnh của MSSQL Tools. Và bạn sẽ thấy đường dẫn đầy đủ của cả hai tệp nhị phân 'sqlcmd' và 'bcp'.
Mã:
which sqlcmd
which bcp

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22294%22%3E%3C/svg%3E


Tại thời điểm này, bạn đã cài đặt và cấu hình Máy chủ MSSQL. Bạn cũng đã bảo mật máy chủ Debian của mình bằng UFW và cài đặt MSSQL Tools. Ở bước tiếp theo, bạn sẽ học cách kết nối với MSSQL Server bằng MSSQL Tools.

Kết nối với MSSQL Server​

Trong phần này, bạn sẽ kết nối với MSSQL Server thông qua MSSQL Tools mà bạn đã cài đặt. Bạn sẽ kết nối với MSSQL Server thông qua tiện ích 'sqlcmd' tới cổng mặc định 1443 của MSSQL Server.

Đăng nhập vào MSSQL Server bằng lệnh 'sqlcmd' bên dưới. Khi được nhắc, hãy nhập mật khẩu MSSQL Server của bạn, sau đó nhấn ENTER.
Mã:
sqlcmd -S localhost -U SA -p
Sau khi đăng nhập, hãy nhập truy vấn sau để kiểm tra phiên bản hiện tại của MSSQL Server. Bạn sẽ thấy MSSQL Server 2019 Express Edition được cài đặt trên hệ thống Linux Debian 11.
Mã:
select @@version
go

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22317%22%3E%3C/svg%3E


Cuối cùng, nhập truy vấn sau để kiểm tra danh sách cơ sở dữ liệu mặc định và có sẵn trên MSSQL Server. Bạn sẽ thấy các cơ sở dữ liệu master, tempdb, modelmsdb có sẵn dưới dạng cơ sở dữ liệu mặc định trên MSSQL Server.
Mã:
select name from sys.databases;
go

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22541%22%20height=%22235%22%3E%3C/svg%3E

Các hoạt động cơ bản của MSSQL Máy chủ​

Sau khi kết nối với Máy chủ MSSQL, bây giờ bạn sẽ học cách vận hành cơ bản của Máy chủ MSSQL. Bạn sẽ tạo người dùng mới, cơ sở dữ liệu mới, chèn và truy xuất dữ liệu trên Máy chủ MSSQL thông qua tiện ích 'sqlcmd'.

Nhập truy vấn sau để tạo thông tin đăng nhập mới trên Máy chủ MSSQL của bạn. Trong ví dụ này, bạn sẽ tạo một thông tin đăng nhập mới có tên là 'Bob' và hãy nhớ thay đổi mật khẩu mặc định trong truy vấn này.
Mã:
CREATE LOGIN Bob WITH PASSWORD='p4ssw0rdBob';
GO
Bây giờ hãy tạo một cơ sở dữ liệu mới 'TestDB' bằng cách sử dụng truy vấn SQL bên dưới.
Mã:
CREATE DATABASE TestDB
GO

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22668%22%20height=%22430%22%3E%3C/svg%3E


Tiếp theo, nhập các truy vấn sau để chuyển sang cơ sở dữ liệu 'TestDB' và tạo một bảng mới có tên là 'users'. Trong bảng 'người dùng', bạn sẽ tạo 5 trường khác nhau - id, first_name, last_name, email, last_login.
Mã:
Use TestDB
GO
Mã:
CREATE TABLE users (
 id INT PRIMARY KEY IDENTITY (1, 1),
 first_name VARCHAR (50) NOT NULL,
 last_name varchar(50) NOT NULL,
 email varchar(50),
 last_login DATE NOT NULL
);
GO

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22662%22%20height=%22275%22%3E%3C/svg%3E


Trong cơ sở dữ liệu 'TestDB', hãy chạy truy vấn sau để tạo một người dùng mới có tên là 'Bob' và chỉ định thông tin đăng nhập cho 'Bob'.
Mã:
CREATE USER Bob FOR LOGIN Bob;
GO
Khi người dùng được tạo, hãy nhập truy vấn bên dưới để cấp quyền cơ bản Hoạt động CRUD (Tạo, Đọc, Cập nhật và Xóa) của bảng 'người dùng' đối với người dùng có tên là 'Bob'.
Mã:
GRANT SELECT, INSERT, UPDATE, DELETE ON users TO Bob;
GO
Bây giờ hãy nhập 'quit' để thoát khỏi shell MSSQL Server.
Mã:
quit
Lúc này, bạn đã tạo xong thông tin đăng nhập, cơ sở dữ liệu, người dùng và bảng trên MSSQL Server.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22650%22%20height=%22377%22%3E%3C/svg%3E


Để đảm bảo người dùng mới đang hoạt động, bạn sẽ đăng nhập vào MSSQL Server với tư cách là người dùng 'Bob' vào cơ sở dữ liệu cụ thể 'TestDB'. Sau đó, bạn sẽ chèn dữ liệu mới vào bảng 'users'.

Nhập lệnh 'sqlcmd' sau để đăng nhập vào MSSQL Server với tư cách là người dùng 'Bob' vào cơ sở dữ liệu 'TestDB'. Khi được nhắc nhập mật khẩu, hãy nhập mật khẩu mà bạn đã tạo cho thông tin đăng nhập có tên là 'Bob'.
Mã:
sqlcmd -S localhost -U Bob -d TestDB -p
Sau khi đăng nhập, hãy chạy truy vấn sau để chèn dữ liệu mới vào bảng 'users'. Khi thao tác thành công, bạn sẽ nhận được kết quả như sau '(1 hàng bị ảnh hưởng)'.
Mã:
INSERT INTO users (first_name, last_name, email, last_login) VALUES ('Bob', 'Marlyn', '[emailprotected]', '20220901');
GO
Bây giờ hãy nhập truy vấn sau để lấy dữ liệu của bạn từ bảng 'người dùng'. Khi thành công, bạn sẽ nhận được dữ liệu được in ra trên màn hình.
Mã:
SELECT * FROM users
GO

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22229%22%3E%3C/svg%3E

Mã:
SELECT Name from sys.Databases
GO

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt và cấu hình MSSQL Server trên hệ thống Debian 11. Bạn cũng đã học cách cài đặt và cấu hình SQL Tools trên Debian để quản lý MSSQL Server.

Cuối cùng, bạn cũng đã học cách sử dụng cơ bản của SQL Tools 'sqlcmd' để kết nối với SQL Server và học cách vận hành cơ bản của SQL Server để tạo người dùng MSSQL, thiết lập cơ sở dữ liệu và bảng, cũng như các thao tác CRUD (Tạo, Đọc, Cập nhật, Xóa) cơ bản trên MSSQL Server.
 
Back
Bên trên