Làm cách nào để tôi cài đặt MSSQL Server và / hoặc Công cụ cho Linux vào ngày 16.04?


14

Bài đăng này được tạo để thử và là một cặp câu hỏi / câu trả lời chính tắc 'bắt tất cả' cho 'Làm cách nào để tôi cài đặt máy chủ MSSQL' và 'Làm thế nào để tôi cài đặt các câu hỏi của MSSQL Server Tools'.

Tôi đang tìm cách thiết lập MS SQL Server cho Linux và hoàn toàn có thể là các công cụ của nó (trên chính máy chủ hoặc các hệ thống khác) để tôi có thể tương tác với SQL Server. Làm thế nào tôi có thể đi về làm điều này?


1
Lưu ý rằng tôi có máy chủ MSSQL khả dụng qua 16.04 và các công cụ trên cùng máy chủ đó. Tôi sử dụng MSSQL Management Studio từ máy tính Windows của mình để quản lý mọi thứ và DataGrip và các giao diện Python khác để thực sự sử dụng Máy chủ MSSQL và quản lý nó.
Thomas Ward

Câu trả lời:


18

Câu trả lời này bao gồm cài đặt Máy chủ và Công cụ MSSQL cho bất kỳ hệ thống 16.04 nào. Nó không bao gồm giải pháp Docker để nhận MSSQL Server trên hệ thống. Một câu trả lời riêng sẽ được viết cho MSSQL Server thông qua tùy chọn cài đặt Docker cho SQL Server.

Có một vài thành phần khác nhau ở đây trong các gói chỉ từ kho của Microsoft.

  1. mssql-server - Microsoft SQL Server cho Linux Xem trước
  2. mssql-tools- sqlcmd, v.v. các lệnh để tương tác với MSSQL Server.

Có một số cảnh báo ác ở đây:

  1. Bạn phải có 16.04 cho tất cả các thành phần; Nó KHÔNG hoạt động trên các phiên bản cũ hơn.
  2. Hiện tại, chỉ có các phiên bản 64 bit của các gói có sẵn. Bạn sẽ không thể chạy mssql-servervà có thể không phải là các công cụ trừ khi bạn ở trên các hệ thống 64 bit.

Tất cả các lệnh dưới đây là từ các bước được đề xuất của Microsoft. Tôi không đề xuất sử dụng một số lệnh này ngoài việc thực hiện chính xác các bước này , do bản chất của rủi ro bảo mật mà một số quy trình ở đây đưa ra (chẳng hạn như đăng nhập vào trình bao siêu người dùng).


mssql-servercác bước cài đặt ( nguồn )

Các bước này bao gồm thiết lập MS SQL Server cho Linux Public Preview. Đây và phương thức Docker là hai phương thức để thiết lập MSSQL Server cho Linux.

Hãy cẩn thận:

  1. Bạn cần có một hệ thống 64 bit cho Máy chủ MSSQL.
  2. Bạn cần ít nhất 4GB RAM trên hệ thống để MSSQL Server cài đặt.
  3. Bạn phải có Ubuntu 16.04 cho việc này, hiện tại không có phiên bản nào khác trên máy chủ kho lưu trữ của họ.

Để cài đặt mssql-serverGói trên Ubuntu, hãy làm theo các bước sau:

  1. Vào chế độ siêu người dùng.

    sudo su
    
  2. Nhập khóa GPG của kho lưu trữ công cộng:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Đăng ký kho lưu trữ Microsoft SQL Server Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"
    
  4. Thoát chế độ siêu người dùng.

    exit
    
  5. Chạy các lệnh sau để cài đặt SQL Server:

    sudo apt-get update
    sudo apt-get install -y mssql-server
    
  6. Sau khi cài đặt gói hoàn tất, hãy chạy tập lệnh cấu hình và làm theo lời nhắc.

    sudo /opt/mssql/bin/mssql-conf setup
    
  7. Sau khi cấu hình xong, hãy xác minh rằng dịch vụ đang chạy:

    systemctl status mssql-server
    

Xem: Quickstart: Cài đặt SQL Server và tạo cơ sở dữ liệu trên Ubuntu .


mssql-toolsCác bước cài đặt ( nguồn )

Phần này bao gồm thiết lập mssql-toolsbao gồm sqlcmdlệnh. Các bước này là cần thiết cho bất kỳ hệ thống nào bạn muốn sử dụng sqlcmdlệnh hoặc các tiện ích có nguồn gốc khác của Microsoft trên Linux để tương tác với Máy chủ MSSQL.

(Điều này là không bắt buộc đối với các thư viện Python khác để tương tác với MSSQL hoặc các tiện ích khác như DataGrip có thể tương tác với máy chủ, v.v., không cần mssql-toolspacakge để hoạt động.)

Hãy cẩn thận:

  1. Tôi chưa tìm thấy phiên bản này cho các hệ thống không phải 64 bit. Bạn có thể cần một hệ thống 64 bit để làm cho các công cụ này hoạt động.
  2. Bạn chỉ có thể sử dụng các công cụ trên 16.04 hiện tại.
  1. Vào chế độ siêu người dùng

    sudo su
    
  2. Nhập khóa GPG của kho lưu trữ công cộng:

    curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
    
  3. Đăng ký kho lưu trữ Microsoft Ubuntu:

    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"
    
  4. Thoát chế độ siêu người dùng:

    exit
    
  5. Cập nhật danh sách nguồn và chạy lệnh cài đặt:

    sudo apt-get update
    sudo apt-get install mssql-tools
    


Giống như được đề cập trong giải pháp docker - ở đây cũng cần phải nói rằng máy chủ mssql sẽ chỉ hoạt động trên kiến ​​trúc amd64 (không giống như arm hoặc arm64, được cung cấp trên một số đám mây).
dùng

1
Đáng lưu ý rằng sqlservr-setupđã được đổi tên thành mssql-conf setup.
Tom

Nó nói sourcerằng sql của bạn yêu cầu 2GB chứ không phải 4GB Ram như bạn đã đề cập.
Offir Pe'er

9

Sử dụng Docker (chỉ amd64)

Cũng có thể chạy MSSQL Server trên Ubuntu bằng Docker. Điều này có thể được thực hiện bằng cách làm theo các bước dưới đây một cách cẩn thận:

  1. Nếu bạn đang sử dụng Ubuntu 14.04 hoặc bất kỳ bản phát hành nào cũ hơn Xenial (16.04) , bạn sẽ cần cài đặt phiên bản Docker mới hơn so với tài liệu lưu trữ cung cấp.

    Nếu vậy, hãy làm theo các hướng dẫn trên trang này .

    Nếu không, chỉ cần chạy:

    sudo apt-get install docker.io
    
  2. Xác minh rằng bạn có thể kết nối với daemon Docker cục bộ bằng cách sử dụng:

    docker info
    

    Nếu bạn nhận được một lỗi như Cannot connect to the Docker daemon., bạn sẽ cần thêm chính mình vào dockernhóm:

    sudo usermod -a -G docker <USERNAME>
    

    ... Nơi <USERNAME>được thay thế bằng tên người dùng của bạn. Bạn sẽ cần phải đăng xuất và đăng nhập lại để những thay đổi có hiệu lực.

  3. Kéo hình ảnh MSSQL từ Docker Hub:

    docker pull microsoft/mssql-server-linux
    
  4. Tạo một thư mục trên máy chủ lưu trữ dữ liệu từ vùng chứa và giữ giá trị trong biến môi trường để thuận tiện:

    export DIR=/var/lib/mssql
    sudo mkdir $DIR
    
  5. Bắt đầu container:

    docker run \
        -d \
        --name mssql \
        -e 'ACCEPT_EULA=Y' \
        -e 'SA_PASSWORD=<PASSWORD>' \
        -p 1433:1433 \
        -v $DIR:/var/opt/mssql \
        microsoft/mssql-server-linux
    

    Thay thế <PASSWORD>bằng một giá trị duy nhất sẽ được sử dụng để xác thực sau này.

  6. Xác minh rằng container bắt đầu không có lỗi:

    docker ps -af name=mssql
    

    Nếu STATUScột hiển thị "Lên ..." bên dưới STATUScột, thì mọi thứ sẽ chạy chính xác. Tuy nhiên, nếu một lỗi được hiển thị:

    CONTAINER ID ... STATUS ...
    ba79fa12fbf1 ... Exited (0) 3 seconds ago ...
    

    ... sau đó bạn có thể sử dụng docker logs mssqlđể có thêm thông tin.

Để kết nối với container từ một ứng dụng, chỉ cần chỉ định cổng 1433.

Theo mặc định, container được bắt đầu khi bạn lần đầu tiên run. Bạn có thể dừng container với:

docker stop mssql

Để loại bỏ container, trước tiên hãy dừng nó và sau đó chạy:

docker rm mssql

Đã thử nghiệm dưới 18.04. Cảm ơn bạn, nó hoạt động và nó rất nhanh.
Joe Eifert

Tên người dùng: sa, mật khẩu phải có ít nhất 8 ký tự và số và chữ trên và dưới. Nếu không, bạn không thể kết nối. Thêm thông tin ở đây: hub.docker.com/r/microsoft/mssql-server-linux
Joe Eifert
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.