Microsoft SQL Server là một cơ sở dữ liệu quan hệ dựa trên Windows và có hỗ trợ cả các bản phân phối Linux. Trong bài viết này mình sẽ hướng dẫn chi tiết cách cài đặt và sử dụng SQL Server trên Linux.
Yêu cầu về cấu hình hệ thống khi cài đặt SQL Server
SQL Server từ phiên bản 2017 trở đi sẽ hỗ trợ người dùng các hệ điều hành sau:
- Red Hat Enterprise Linux 7.7 – 7.9, hoặc 8.0 – 8.3 Server.
- Ubuntu 16.04 LTS, 18.04 LTS, Ubuntu 20.04 LTS.
- SUSE Enterprise Linux Server v12 SP3 – SP5.
- Docker Engine 1.8+ trên MAC, hoặc Linux.
- Container bằng OpenShift hoặc Kubernetes.
Để cài đặt được SQL Server trên Linux, bạn cần có cấu hình hệ thống tối thiểu như sau:
- Dung lượng HĐH: ít nhất 2GB.
- Ổ đĩa trống: Ít nhất 6GB.
- Bộ xử lý: 2GHZ, 2 lõi, tương thích x-64.
- File system: XFS hoặc EXT4.
Bên cạnh đó, trước khi tiến hành cài đặt SQL Server trên hệ điều hành Linux, bạn cần xem qua các câu lệnh trong Linux để quá trình thực hiện thao tác lệnh diễn ra suôn sẻ.
2 phiên bản cài đặt SQL Server phổ biến dễ sử dụng
Tên repository | Mô tả | Ghi chú |
mssql-server-2019 | Repo bản cập nhật CU (cumulative update) SQL Server 2019 | Chứa bản phát hành cơ bản của SQL (RTM), có chứa lỗi và các giải pháp khắc phục. |
mssql-server-2019-gdr | Repo các bản cập nhật quan trọng của SQL Server 2019 | Chứa bản phát hành cơ bản kèm theo các cập nhật quan trọng. |
Phiên bản SQL Server dành cho Linux luôn có sẵn trên các repository Microsoft, trong đó có cả phiên bản 2017 và 2019. Các repo này hỗ trợ engine cơ sở dữ liệu và các gói SEL Server liên quan.
3 ví dụ về cách cài đặt SQL Server trên Linux
Ví dụ 1: Cài đặt SQL Server trên Ubuntu
Bây giờ bạn sẽ bắt đầu các bước cài đặt SQL Server 2019. Hiện tại SQL Server trên Linux chỉ hỗ trợ cài đặt qua giao diện command-line. Trước khi bắt đầu, cần chú ý rằng Ubuntu 20.04 chỉ hỗ trợ SQL Server 2019 CU 10 trở đi. Đầu tiên, mở terminal rồi thực hiện các bước sau:
Bước 1: Import key GPG của public repo.
Chạy lệnh wget dưới đây để download key GPG – key mã hóa public từ cửa hàng package của Microsoft:
wget-qO-https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
Bước 2: Đăng ký repo SQL Server 2019 Linux Ubuntu.
Bây giờ bạn cần thêm một repo APT cho SQL Server 2019 Linux trên Ubuntu 20.04 bằng lệnh sudo với tuỳ chọn add-apt:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Bạn có thể sử dụng lệnh cat để kiểm tra xem repo đã được cài đặt chưa bằng cách mở file /etc/apt/sources.list:
cat /etc/apt/sources.list
Bước 3: Cập nhật chỉ mục repo.
sudo apt-get update
Bước 4: Cài đặt SQL Server Linux.
Bây giờ bạn có thể chạy lệnh sudo apt-get để download gói cài đặt SQL Server từ repo Microsoft (kích thước khoảng 253MB):
sudo apt-get install -y mssql-server
Bước 5: Cấu hình SQL Server trên Linux
sudo /opt/mssql/bin/mssql-conf setup
Ở phần nhập phiên bản, bạn có thể tham khảo bảng dưới đây:
Phiên bản | Mô tả |
1 | Evaluation (miễn phí, không có bản quyền sản xuất, giới hạn sử dụng 180 ngày). |
2 | Developer (miễn phí, không có bản quyền sản xuất). |
3 | Express (miễn phí). |
4 | Web (trả phí). |
5 | Standard (trả phí). |
6 | Enterprise (trả phí) – CPU bị giới hạn 20 lõi vật lý hoặc 40 siêu phân luồng. |
7 | Enterprise Core (trả phí) – Lõi CPU bị giới hạn bởi hệ điều hành. |
8 | Nếu đã có sẵn key kích hoạt sản phẩm. |
Sau khi chọn xong phiên bản, nhập Yes để chấp nhận các điều khoản sử dụng và chọn ngôn ngữ.
Tiếp theo bạn cần nhập mật khẩu SA (SQL Server administrator) với tối thiểu 8 ký tự, chứa đầy đủ ký tự in hoa, in thường, chữ số và các ký tự không phải chữ cái.
Bây giờ có thể kiểm tra trạng thái của SQL Services bằng lệnh systemctl:
systemctl status mssql-server --no-pager
Nếu kết quả có dạng như dưới đây thì bạn đã hoàn tất việc cấu hình SQL Server trên Linux Ubuntu 20.04.
- Trường hợp: Cài đặt các công cụ command-line cho SQL Server:
Để kết nối được với SQL Server trên Linux, có thể cài đặt các công cụ dưới đây:
- SQLCMD
- Azure Data Studio
- SQL Server Management Studio (SSMS)
SQLCMD và Azure Data Studio đều có thể cài đặt, nếu muốn sử dụng SSMS thì bạn cần cài đặt trên Windows rồi kết nối từ xa đến Linux SQL:
Bước 1: Cài đặt CURL và import public key GPG:
sudo apt install curl
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Bước 2: Đăng ký repo Microsoft Ubuntu:
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list
Bước 3: Cập nhật danh sách nguồn repo rồi cài đặt mssql-tools:
sudo apt-get update
sudo apt-get install mssql-tools unixodbc-dev
Bây giờ nhập Y để tiếp tục quá trình cài đặt. Nhấn Yes ở màn hình tiếp theo.
Chấp nhận các điều khoản sử dụng:
Bước 4: Thêm thư mục /opt/mssql-tools/bin/ vào môi trường biến PATH trong shell bash.
Thao tác này giúp truy cập SQLCMD từ bash. Ngoài ra bạn cũng có thể thêm vào file ~/.bashrc cho các phiên interactive/non-login:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Kết nối đến SQL Server:
Nhập lệnh SQLCMD sau để kết nối đến SQL Server:
$ sqlcmd -S localhost -U SA
Nhập mật khẩu SA để kết nối đến server SQL Server local. Sau khi kết nối thành công thì màn hình sẽ hiển thị dấu nhắc 1> như dưới đây:
Bây giờ chạy lệnh SELECT @@VERSION để kiểm tra phiên bản của SQL Server:
Nếu muốn xem danh sách database thì hãy chạy lệnh T-SQL dưới đây. Lệnh này trả về danh sách chủ cơ sở dữ liệu hệ thống, tempdb, model và msdb có sẵn trong mỗi phiên bản SQL Server.
Ví dụ 2: Cài đặt SQL Server trên Arch Linux
Trước tiên, tạo vị trí lưu repo AUR rồi clone về máy:
mkdir ~/aur
cd ~/aur
git clone https://aur.archlinux.org/mssql-server.git
git clone https://aur.archlinux.org/msodbcsql.git
git clone https://aur.archlinux.org/mssql-tools.git
Trong đó:
- mssql-server : File cài đặt MS SQL Server chính
- msodbcsql: Dùng để kết nối đến MS SQL Server
- mssql-tools: Các công cụ command line để giao tiếp với SQL Server.
Sau khi clone xong, bạn cần xây dựng các gói để cài đặt bằng lệnh makepkg:
cd ~/aur/mssql-server
makepkg -sirc
cd ~/aur/msodbcsql
makepkg -sirc
cd ~/aur/mssql-tools
mkpkg -sirc
Lệnh makepkg cung cấp một số tùy chọn sau:
- -s: Cài đặt mọi dependency bị thiếu
- -i: Cài đặt package sau khi đã xây dựng xong.
- -r: Xóa mọi dependecy chỉ cần trong quá trình xây dựng.
- -c: Xóa các file hoặc thư mục thừa sau khi xây dựng xong.
Bây giờ dịch vụ mssql-server đã được cài đặt xong và tự động khởi chạy. Bạncó thể kiểm tra bằng lệnh sau:
systemctl status mssql-server.service
Output:
Nếu lệnh trả về trạng thái inactive (dead) thì hãy thử khởi động lại dịch vụ rồi cho chạy tự động:
systemctl enable --now mssql-server.service
Sau khi hoàn tất, bạn có thể chạy công cụ setup cho SQL Server:
/opt/mssql/bin/mssql-conf setup
Tương tự như quá trình cài đặt SQL Server trên Ubuntu 20.04, bạn cũng thiết lập mật khẩu admin và chọn ngôn ngữ để sử dụng.
Nếu muốn cài đặt Azure Data Studio để giao tiếp với SQL Server, có thể clone repo AUR về như sau:
cd ~/aur
git clone https://aur.archlinux.org/azuredatastudio-bin.git
cd ~/aur/azuredatastudio-bin
makepkg -sirc
Ví dụ 3: Cài đặt, kết nối trên CentOS 7 và Red Hat (RHEL)
Tiếp theo là các bước cài đặt SQL Server cho CentOS (ưu tiên CentOS 7 với khả năng tương thích với phiên bản SQL Server cần cài đặo) và Red Hat:
Bước 1: Thêm repo SQL Server:
sudo yum update -y
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/[version]/mssql-server-2019.repo
Trong đó [version] là phiên bản CentOS muốn cài đặt.
Bước 2: Cài đặt SQL Server
sudo yum install -y mssql-server
Quá trình này sẽ phân giải các dependency trước khi download và cài đặt những gói cần thiết.
Bước 3: Cấu hình SQL Server:
Khởi động công cụ cấu hình SQL Server:
sudo /opt/mssql/bin/mssql-conf setup
Sau đó chọn phiên bản, thiết lập mật khẩu admin như các bước cài đặt trên Ubuntu hay Arch Linux.
Bây giờ bạn có thể xác thực xem đã cài đặt xong chưa bằng lệnh mssql:
systemctl status mssql-server
Bước 4: Cài đặt SQL Server Command Line:
Trước tiên, thêm repo Red Hat cài đặt cho phép công cụ command-line cho SQL Server:
sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
Cài đặt:
sudo yum install -y mssql-tools unixODBC-devel
Nhập Yes để đồng ý các điều khoản.
Bây giờ thêm /opt/mssql-tools/bin/ vào biến môi trường PATH vào tập lệnh để chạy tập lệnh Bash như sau:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Khởi động công cụ command-line:
sqlcmd -S localhost -U SA
Cuối cùng là nhập mật khẩu admin để vào server.
2 bước kết nối, sử dụng SQL Server trên Linux bằng SQL Server Management Studio
- Bước 1: Thiết lập, tạo mới cơ sở dữ liệu
Các bước sau đây tạo cơ sở dữ liệu mới có username theo dạng yourname_db (yourname là username bạn muốn đặt)
CREATE DATABASE yourname_db;
Ở cú pháp tiếp theo, hãy nhập một truy vấn để trả về tên của tất cả các cơ sở dữ liệu trên server:
SELECT Name from sys.databases;
Nếu như cả 2 lệnh trước đó không được thực thi. Bạn cần phải gõ GO vào một dòng mới để thực hiện các lệnh trước
GO
- Bước 2: Kết nối, sử dụng SQL Server trên Linux với SQL Server Management Studio
Bây giờ, bạn cần sử dụng SQL Authentication để kết nối SQL Server trên Linux,. Bằng việc kết nối từ xa, bạn sẽ cần mở port SQL Server (mặc định là port 1433 qua tcp) trên Firewall.
Trường hợp bạn thiết lập firewall (tường lửa) bằng IPtables:
iptables -A INPUT -p tcp -m tcp --dport 1433 -j ACCEPT
Hoặc bạn thiết lập firewall (tường lửa) bằng FirewallD:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
Nhập thông tin tài khoản database để kết nối với SQL Server Management Studio: Server name, username (như cách thiết lập bên trên)
Sau khi kết nối thành công các bạn có thể backup/import database theo nhu cầu
Câu hỏi thường gặp
Có thể sử dụng các công cụ quản lý cơ sở dữ liệu đồ họa để kết nối đến SQL Server từ Linux không?
Có thể. Việc sử dụng công cụ quản lý CSDL đồ họa đem đến một số lợi ích nhất định trong quá trình sử dụng như giao diện trực quan gần gũi; tăng năng suất; tính năng hỗ trợ đa dạng,…
Có thể sử dụng các công cụ đồng bộ hóa dữ liệu để đồng bộ hóa dữ liệu giữa SQL Server trên Linux và các hệ thống khác không?
Có thể.
Lời kết
Bài viết này đã hướng dẫn chi tiết 3 cách cài đặt và sử dụng SQL Server trên các bản phân phối Ubuntu, Arch và Red Hat của Linux. Nếu có bất kỳ vấn đề nào trong quá trình cài đặt, hãy để lại ở phần comment bên dưới để được Vietnix hỗ trợ nhanh nhất!