September 7, 2023

Гайд по установке SQL на Mac OS (Intel chip)

В этом гайде, как написано в заголовке, я покажу вам, как запустить SQL Server на вашем Mac менее чем за полчаса. И что самое приятное, SQL Server будет работать локально, без использования какого-либо программного обеспечения для виртуализации.

До появления SQL Server 2017, чтобы запустить SQL Server на Mac, нужно было сначала создать виртуальную машину (с помощью VirtualBox, Parallels Desktop, VMware Fusion или Bootcamp), затем установить на нее Windows и, наконец, SQL Server. В зависимости от ваших требований это все еще актуально. Как установить SQL Server на мак через VirtualBox (Гайд на английском)

Начиная с SQL Server 2017, теперь можно установить SQL Server непосредственно на машину с Linux. А поскольку macOS основана на Unix (а Linux - на Unix), вы можете запустить SQL Server для Linux на своем Mac. Для этого необходимо запустить SQL Server в Docker.

Поэтому давайте установим Docker. Затем мы загрузим и установим SQL Server.

1. Установить Docker

Загрузите (бесплатную) версию Docker Community Edition для Mac (если она еще не установлена на вашей системе). Это позволит запускать SQL Server из контейнера Docker.

Для загрузки перейдите на страницу загрузки Docker CE для Mac и нажмите Get Docker.

Для установки дважды щелкните на файле .dmg, а затем перетащите значок Docker.app в папку Application.

Установка Docker

Что такое Docker?

Docker - это платформа, позволяющая запускать программное обеспечение в собственной изолированной среде. SQL Server (с 2017 года) можно запускать на Docker в собственном изолированном контейнере. После установки Docker достаточно загрузить (или "вытащить") образ SQL Server on Linux Docker Image на Mac, а затем запустить его как контейнер Docker. Этот контейнер представляет собой изолированную среду, содержащую все необходимое для работы SQL Server.

2. Запуск Docker

Запуск Docker осуществляется так же, как и запуск любого другого приложения (например, через папку Applications, Launchpad и т.д.).

Нажимаем кнопку "Accept" принимая пользовательское соглашение.

Первое окно

При открытии Docker вам может быть предложено ввести пароль, чтобы Docker мог установить свои сетевые компоненты и ссылки на приложения Docker. Укажите пароль, так как он необходим Docker для работы.

Можете зарегестрироваться, а можно пройти без регистрации как сделал я.

Прветственное окно

Далее выбираем для чего вам нужен Docker, я выбрал, что мне нужен для учебы и я студент, так и есть)

Окно выбора назначения

3. Увеличение памяти (необязательно)

По умолчанию для Docker может быть выделено 2 ГБ памяти. SQL Server требуется не менее 2 ГБ. Однако, если есть возможность, не помешает ее увеличить.

В моем случае я увеличил его до 4 ГБ.

Для этого в верхнем меню на маленьком значке Docker выберите пункт Settings:

Меню Docker

Затем на экране Resources > Advanced переместите ползунок памяти на уровень не менее 4 ГБ:

Меню Resourses

Закончите нажав на кнопку Apply & restart

4. Загрузить SQL Server

Теперь, когда Docker установлен, мы можем загрузить и установить SQL Server для Linux.

Откройте окно приложение Terminal на Mac и выполните следующую команду.

sudo docker pull mcr.microsoft.com/mssql/server:2022-latest

В результате на компьютер будет загружен последний Docker-образ SQL Server 2022 для Linux.

При желании можно также проверить наличие последней версии контейнера на сайте Docker.

5. Запуск образа Docker

Выполните следующую команду, чтобы запустить экземпляр только что загруженного образа Docker:

docker run -d --name sql_server_demo -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest

Но, конечно, используйте свое собственное имя и пароль. Кроме того, если вы загрузили другой образ Docker, замените mcr.microsoft.com/mssql/server:2019-latest на тот, который вы загрузили.

Вот объяснение параметров:

-d

Этот необязательный параметр запускает Docker-контейнер в режиме демона. Это означает, что он работает в фоновом режиме и не требует открытия собственного окна терминала. Для запуска контейнера в собственном окне терминала этот параметр можно опустить.

--name sql_server_demo

Еще один необязательный параметр. Этот параметр позволяет присвоить контейнеру имя. Это может быть удобно при остановке и запуске контейнера из Терминала.

-e 'ACCEPT_EULA=Y'

Параметр Y означает, что вы согласны с EULA (End User Licence Agreement). Это необходимо для того, чтобы SQL Server for Linux работал на вашем Mac.

-e 'SA_PASSWORD=reallyStrongPwd123'

Требуемый параметр, задающий пароль базы данных sa.

-p 1433:1433

Это сопоставляет локальный порт 1433 с портом 1433 на контейнере. Это TCP-порт по умолчанию, который SQL Server использует для прослушивания соединений.

mcr.microsoft.com/mssql/server:2019-latest

Это указывает Docker, какой образ использовать. Если вы загрузили другой образ, используйте его.

Password Strengt

Если на этом шаге вы получите следующую ошибку, повторите попытку, но уже с более надежным паролем.

Microsoft(R) SQL Server(R) setup failed with error code 1. Please check the setup log in /var/opt/mssql/log for more information.

Я получил эту ошибку, когда использовал в качестве пароля reallyStrongPwd (но, конечно, это не очень надежный пароль!). Мне удалось решить эту проблему, добавив несколько цифр в конце. Однако если бы это была не просто демонстрация, я бы обязательно сделал его более надежным, чем несколько словарных слов и цифр.

6. Проверка контейнера Docker (необязательно)

Чтобы проверить, запущен ли контейнер Docker, можно ввести следующую команду.

docker ps

Если он запущен, то в ответ должно появиться примерно следующее сообщение:

CONTAINER ID        IMAGE                                        COMMAND                CREATED             STATUS              PORTS                    NAMES
4e4aa21eb391        mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/sqls…" 23 seconds ago      Up 21 seconds       0.0.0.0:1433->1433/tcp   sql_server_demo

7. Установите sql-cli (если он еще не установлен)

Выполните следующую команду для установки инструмента командной строки sql-cli. Этот инструмент позволяет выполнять запросы и другие команды для экземпляра SQL Server.

npm install -g sql-cli

При этом предполагается, что у вас установлен NodeJs. Если его нет, то сначала загрузите его с сайта Nodejs.org. Установка NodeJs автоматически установит npm, который мы используем в этой команде для установки sql-cli.

Ошибка с правами доступа?

Если вы получили ошибку, часть которой гласит: "Пожалуйста, попробуйте выполнить эту команду еще раз от имени root/Administrator", попробуйте еще раз, но на этот раз добавьте к команде sudo:

sudo npm install -g sql-cli

8. Подключение к SQL Server

Теперь, когда sql-cli установлен, мы можем начать работу с SQL Server через окно Terminal на нашем Mac.

Подключитесь к SQL Server с помощью команды mssql, указав имя пользователя и пароль.

mssql -u sa -p reallyStrongPwd123

Вы должны увидеть что-то вроде этого:

Connecting to localhost...done

      sql-cli version 0.6.2
      Enter ".help" for usage hints.
      mssql>

Это означает, что вы успешно подключились к своему экземпляру SQL Server.

9. Запуск быстрого теста

Выполните быстрый тест, чтобы убедиться, что SQL Server работает и к нему можно обращаться.

Например, можно выполнить следующую команду, чтобы узнать, какая версия SQL Server запущена:

select @@version

Если сервер работает, то вы должны увидеть что-то вроде этого (но, конечно, это зависит от того, какая версия у вас установлена):

 Microsoft SQL Server 2022 (RTM-CU7) (KB5028743) - 16.0.4065.3 (X64) 
        Jul 25 2023 18:03:43 
        Copyright (C) 2022 Microsoft Corporation
        Developer Edition (64-bit) on Linux (Ubuntu 20.04.6 LTS)                     |

1 row(s) returned

Executed in 1 ms
mssql>

Если вы видите подобное сообщение, поздравляем - SQL Server теперь работает на вашем Mac!

Теперь можно приступать к выполнению SQL-запросов к SQL Server.

10. SQL в Docker

Также вы можете рассматривать и использовать SQL в нашем приложение Docker.

Для этого в верхнем меню на маленьком значке Docker выберите пункт Dashboard:

Быстрое меню Docker

Здесь появился контейнер нашего SQL сервера.

Экран Dashboard

Примечания:

Также если хотите узнать больше об установке и использования SQL в Docker, оставляю ссылку на сайт Microsoft с инструкцией по использованию.

Статья была изучена, протестирована, дополнена и локализирована
Источник - https://database.guide/how-to-install-sql-server-on-a-mac/