Cách cài đặt Microsoft SQL Server trên CentOS Linux

Tác giả sysadmin, T.M.Hai 25, 2022, 02:52:02 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt Microsoft SQL Server trên CentOS Linux


Vào tháng 12 năm 2016, Microsoft đã cung cấp cơ sở dữ liệu SQL Server của họ trong Linux. Ở đây chúng tôi sẽ giới thiệu cách cài đặt và thực hiện thiết lập cơ bản của MSSQL trong CentOS phân phối Linux dựa trên RHEL.

1. Cài đặt MSSQL trong CentOS 7

Trước tiên, chúng tôi sẽ thiết lập tệp kho lưu trữ, Microsoft cung cấp một bản sao của tệp này cho RHEL tại đây:   Đăng nhập để xem liên kết

Chúng tôi sẽ sử dụng lệnh wget để sao chép tệp này vào thư mục /etc/yum.repos.d/ để chúng tôi có thể sử dụng nó với trình quản lý gói yum hoặc dnf.

Mã nguồn [Chọn]
[root@centos7 ~]# wget https://packages.microsoft.com/config/rhel/7/mssql-server.repo -O /etc/yum.repos.d/mssql-server.repo
Bây giờ tệp kho lưu trữ đã sẵn sàng, việc cài đặt đơn giản bằng cách chạy lệnh sau. Tại thời điểm viết bài, tổng kích thước của gói tải xuống là 139mb.

Mã nguồn [Chọn]
[root@centos7 ~]# yum install mssql-server -y
...
+-------------------------------------------------------------------+
| Please run /opt/mssql/bin/sqlservr-setup to complete the setup of |
|                  Microsoft(R) SQL Server(R).                      |
+-------------------------------------------------------------------+

Sau khi quá trình cài đặt hoàn tất, chúng tôi khuyên bạn nên chạy tập lệnh bash /opt/mssql/bin/sqlservr-setup để hoàn tất quá trình thiết lập.

Trong lần thử cài đặt đầu tiên, tôi đã gặp lỗi sau vì máy ảo của tôi chỉ chạy với bộ nhớ 2GB, vì vậy hãy đảm bảo rằng bạn có đủ bộ nhớ trước khi tiếp tục.

Mã nguồn [Chọn]
sqlservr: This program requires a machine with at least 3250 megabytes of memory.
Microsoft(R) SQL Server(R) setup failed with error code 1.

Bạn sẽ có thể tiếp tục khi có đủ bộ nhớ khả dụng.

Mã nguồn [Chọn]
[root@centos7 ~]# /opt/mssql/bin/sqlservr-setup
Microsoft(R) SQL Server(R) Setup

You can abort setup at anytime by pressing Ctrl-C. Start this program
with the --help option for information about running it in unattended
mode.

The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388 and found
in /usr/share/doc/mssql-server/LICENSE.TXT.

Do you accept the license terms? If so, please type "YES": YES

Please enter a password for the system administrator (SA) account:
Please confirm the password for the system administrator (SA) account:

Setting system administrator (SA) account password...

Do you wish to start the SQL Server service now? [y/n]: y
Do you wish to enable SQL Server to start on boot? [y/n]: y
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server-telemetry.service to /usr/lib/systemd/system/mssql-server-telemetry.service.

Setup completed successfully.

Vậy là xong, Microsoft SQL Server hiện đang chạy thành công và lắng nghe lưu lượng truy cập trên cổng TCP 1434.

Mã nguồn [Chọn]
[root@centos7 ~]# systemctl status mssql-server
â mssql-server.service - Microsoft(R) SQL Server(R) Database Engine
   Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-12-30 02:26:37 PST; 38s ago
 Main PID: 2974 (sqlservr)
   CGroup: /system.slice/mssql-server.service
           ââ2974 /opt/mssql/bin/sqlservr
           ââ2995 /opt/mssql/bin/sqlservr

[root@centos7 ~]# netstat -antp | grep 1434
tcp        0      0 127.0.0.1:1434          0.0.0.0:*               LISTEN      2995/sqlservr

2. Kết nối với MSSQL

Để thực sự kết nối với máy chủ từ Linux, chúng ta cần cài đặt gói mssql-tools, gói này đến từ một kho lưu trữ khác với kho lưu trữ mà chúng ta vừa thiết lập. Nó có thể được tìm thấy ở đây:   Đăng nhập để xem liên kết

Trước tiên, chúng tôi sẽ tải xuống một bản sao của tệp prod.repo và đặt nó vào thư mục /etc/yum.repos.d/.

Mã nguồn [Chọn]
[root@centos7 ~]# wget https://packages.microsoft.com/config/rhel/7/prod.repo -O /etc/yum.repos.d/prod.repo
Bây giờ chúng ta có thể tiến hành cài đặt gói mssql-tools, như hình bên dưới.

Mã nguồn [Chọn]
[root@centos7 ~]# yum install mssql-tools -y
Khi điều này được cài đặt, chúng ta có thể sử dụng lệnh sqlcmd để tương tác với cơ sở dữ liệu. Để xem cách chạy sqlcmd, chỉ cần chạy nó với dấu -? tùy chọn để được giúp đỡ.

Thật không may, có vẻ như khi bạn chỉ định tùy chọn -P cho mật khẩu, mật khẩu phải được cung cấp trong dòng lệnh mà không có tùy chọn được nhắc về mật khẩu sau này. Hãy nhớ rằng mật khẩu của bạn sẽ được lưu trữ trong lịch sử bash của bạn khi chạy theo cách này.

Mã nguồn [Chọn]
[root@centos7 ~]# sqlcmd -U SA -P password
1> create database test;
2> go
1> use test;
2> go
Changed database context to 'test'.
1> create table websites(domain varchar(255));
2> go
1> insert into websites (domain)
2> values ('rootusers.com');
3> go

(1 rows affected)
1> select domain
2> from websites;
3> go
domain
rootusers.com
(1 rows affected)

Trong ví dụ này, chúng tôi tạo một cơ sở dữ liệu thử nghiệm với một bảng có tên là các trang web và một cột cho các tên miền. Sau đó, chúng tôi chèn một tên miền và kéo nó ra bằng cách chọn, xác nhận rằng chúng tôi có thể kết nối và các truy vấn SQL cơ bản dường như đang hoạt động như mong đợi.

Máy chủ SQL của Microsoft hiện có sẵn để cài đặt trên Linux. Cá nhân tôi không nghĩ rằng tôi sẽ sử dụng điều này thay vì các lựa chọn thay thế khác như MariaDB hoặc PostgreSQL, vì vậy hy vọng ai đó ở đâu đó thực sự thấy thông tin này hữu ích!