Bài viết này nhằm hướng dẫn cài đặt Microsoft SQL Server 2017 trên CentOS 7. Trước khi cài đặt và sử dụng, hãy đọc các điều khoản cấp phép theo liên kết dưới đây. Nếu bạn sử dụng nó vào mục đích thương mại hay sản xuất, nó không miễn phí, và bạn cần phải mua giấy phép. ⇒ https://www.microsoft.com/en-us/sql-server/sql-server-2017-pricing
Hướng dẫn cài đặt Microsoft SQL Server 2017 trên CentOS 7
Bước 1: Thêm kho lưu trữ SQL Server 2017 và cài đặt nó
curl https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo -o /etc/yum.repos.d/mssql-server-2017.repo curl https://packages.microsoft.com/config/rhel/7/prod.repo -o /etc/yum.repos.d/msprod.repo yum -y install mssql-server mssql-tools unixODBC-devel
Bước 2: Thiết lập cấu hình ban đầu cho SQL Server 2017
Đầu tiên, bạn chạy lệnh:
/opt/mssql/bin/mssql-conf setup
Hệ thống sẽ yêu cầu bạn chọn phiên bản SQL Server muốn sử dụng, với người dùng cá nhân, ta chỉ chọn 2 hoặc 3. Tiếp theo, đồng ý với license terms và đặt mật khẩu cho tài khoản quản trị cao nhất sa. Kiểm tra trạng thái mssql-server với lệnh:
systemctl status mssql-server
Tiếp theo chạy 2 lệnh:
echo 'export PATH=$PATH:/opt/mssql-tools/bin' > /etc/profile.d/mssql.sh source /etc/profile.d/mssql.sh
Tổng thể out sẽ có dạng sau:
[root@upforshare ~]# /opt/mssql/bin/mssql-conf setup Choose an edition of SQL Server: 1) Evaluation (free, no production use rights, 180-day limit) 2) Developer (free, no production use rights) 3) Express (free) 4) Web (PAID) 5) Standard (PAID) 6) Enterprise (PAID) 7) Enterprise Core (PAID) 8) I bought a license through a retail sales channel and have a product key to enter. Details about editions can be found at https://go.microsoft.com/fwlink/?LinkId=852748&clcid=0x409 Use of PAID editions of this software requires separate licensing through a Microsoft Volume Licensing program. By choosing a PAID edition, you are verifying that you have the appropriate number of licenses in place to install and run this software. # select an edition you'd like to use Enter your edition(1-8): 2 The license terms for this product can be found in /usr/share/doc/mssql-server or downloaded from: https://go.microsoft.com/fwlink/?LinkId=855862&clcid=0x409 The privacy statement can be viewed at: https://go.microsoft.com/fwlink/?LinkId=853010&clcid=0x409 # agree to the license Do you accept the license terms? [Yes/No]:y # set admin password Enter the SQL Server system administrator password: Confirm the SQL Server system administrator password: Configuring SQL Server... Created symlink from /etc/systemd/system/multi-user.target.wants/mssql-server.service to /usr/lib/systemd/system/mssql-server.service. Setup has completed successfully. SQL Server is now starting. [root@upforshare ~]# systemctl status mssql-server * mssql-server.service - Microsoft SQL Server Database Engine Loaded: loaded (/usr/lib/systemd/system/mssql-server.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2017-10-05 19:24:33 JST; 50min ago Docs: https://docs.microsoft.com/en-us/sql/linux Main PID: 1472 (sqlservr) CGroup: /system.slice/mssql-server.service +--1472 /opt/mssql/bin/sqlservr +--1493 /opt/mssql/bin/sqlservr Oct 05 19:24:38 dlp.srv.world sqlservr[1472]: 2017-10-05 19:24:38.50 spid11s.... Hint: Some lines were ellipsized, use -l to show in full. [root@upforshare ~]# echo 'export PATH=$PATH:/opt/mssql-tools/bin' > /etc/profile.d/mssql.sh [root@upforshare ~]# source /etc/profile.d/mssql.sh
Bước 3: Mở port 1433 cho SQL Server
firewall-cmd --add-port=1433/tcp --permanent firewall-cmd --reload
Đó là với tường lửa sửa dụng firewalld, với iptables bạn cũng mở cổng 1433 nhé.
Bước 4: Kết nối với SQL Server
Sử dụng lệnh sqlcmd
sqlcmd -S localhost -U SA
Đồng thời nhập pass của tài khoản sa đã đặt ở bước 2 vào. Để thoát khỏi màn hình lệnh sqlcmd ta gõ exit
Tham khảo một số lệnh sqlcmd đơn giản
# show system databases 1> select name,database_id from sys.databases; 2> go name database_id ------------- ----------- master 1 tempdb 2 model 3 msdb 4 (4 rows affected) # show system users 1> select name from sysusers; 2> go name ----------------------------------------- ##MS_AgentSigningCertificate## ##MS_PolicyEventProcessingLogin## db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin dbo guest INFORMATION_SCHEMA public sys (16 rows affected) # show current user 1> select current_user; 2> go ------------------------------- dbo (1 rows affected) # quit 1> exit
Đến đây, bạn hoàn toàn có thể sử dụng SQL Server Management Studio để quản lý database và user SQL Server. Mặc định trên CentOS 7, các database của SQL Server sẽ được cài đặt vào vị trí đường dẫn như sau: /var/opt/mssql/data/
Thay đổi, reset mật khẩu sa
Để thay đổi mật khẩu “sa”, trước tiên hãy dừng dịch vụ SQL Server trên Linux
systemctl stop mssql-server systemctl status mssql-server
Đặt lại mật khẩu: /opt/mssql/bin/mssql-conf set-sa-password
Lưu ý: Chỉ nên dùng A-Z, a-z, 0-9 và KHÔNG ĐƯỢC dùng ký tự đặc biệt. Khởi động lại SQL Server Service
systemctl start mssql-server systemctl status mssql-server
Bật, tắt, khởi động lại, kiểm tra trạng thái MS SQL Server
Kiểm tra trạng thái:
systemctl status mssql-server
Tắt, bật, khởi động lại dịch vụ MSSQL-SERVER:
sudo systemctl stop mssql-server sudo systemctl start mssql-server sudo systemctl restart mssql-server
Linux + SQL Server + PHP Laravel + NginX có phải là combo tuyệt vời
Trong các bài viết tiếp theo, tôi sẽ chia sẻ cách tôi attach/restore database vào SQL Server trên linux như thế nào 🙂 Còn nữa…
Nguồn: upforshare.com tổng hợp và biên soạn