По-рано обясних как да инсталирате SQL Server на Mac чрез Docker контейнер. Когато написах това, SQL Server 2017 беше най-новата версия на SQL Server и току-що беше предоставена за Linux и Docker (което означава, че можете да го инсталирате и на системи MacOS).
В края на 2018 г. Microsoft обяви SQL Server 2019 Preview и впоследствие обяви общо издание в края на 2019 г. Инсталационният процес за SQL Server 2019 е абсолютно същият като за SQL Server 2017. Единствената разлика е, че трябва да използвате изображението на контейнера за SQL Server 2019 вместо изображението от 2017 г. Тук ви показвам как да направите това.
Освен това, ако вече имате инсталиран SQL Server 2017 и искате да инсталирате SQL Server 2019, без да премахвате версията 2017, ще трябва да зададете различен номер на порт на вашия хост. Показвам ви и как да направите това.
Но първо... ако използвате Mac с чип M1, вижте Как да инсталирате SQL Server на M1 Mac (ARM64).
Docker
Първата стъпка е да инсталирате Docker. Ако вече имате инсталиран Docker, можете да пропуснете тази стъпка (и да преминете направо към SQL Server).
Docker е платформа, която позволява на софтуера да работи в собствена изолирана среда. Следователно SQL Server 2019 може да се изпълнява на Docker в собствен изолиран контейнер.
-
Инсталирайте Docker
За да изтеглите, посетете страницата за изтегляне на Docker CE за Mac и щракнете върху Вземете Docker .
За да инсталирате, щракнете двукратно върху .dmg файл и след това плъзнете Docker.app икона към вашето Приложение папка.
-
Стартирайте Docker
Стартирайте Docker по същия начин, по който бихте стартирали всяко друго приложение (напр. чрез папката Applications, Launchpad и т.н.).
Когато отворите Docker, може да бъдете подканени за вашата парола, за да може Docker да инсталира своите мрежови компоненти и връзки към приложенията на Docker. Продължете и предоставете паролата си, тъй като Docker се нуждае от това, за да работи.
-
Увеличете паметта (по избор)
По подразбиране Docker ще има 2GB памет, разпределена за него. Предлагам да го увеличите до 4 GB, ако можете.
За да направите това, изберете Предпочитания от малката икона на Docker в горното меню:
След това в Ресурси> Разширени екран, плъзнете плъзгача на паметта до поне 4 GB:
След това завършете, като щракнете върху Прилагане и рестартиране
SQL сървър
След като Docker е инсталиран и конфигуриран, можем да изтеглим и инсталираме SQL Server 2019.
-
Изтеглете SQL Server 2019
Отворете прозорец на терминала и изпълнете следната команда.
sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
Това изтегля най-новото изображение на SQL Server за Linux Docker на вашия компютър.
Можете също да проверите за различните опции за изображение на контейнера на уебсайта на Docker, ако желаете.
-
Стартирайте изображението на Docker
Изпълнете следната команда, за да стартирате копие на изображението на Docker, което току-що изтеглите:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1433:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
Просто променете
Bart
на име по ваш избор иreallyStrongPwd#123
към избрана от вас парола.Ако получите грешка „порт вече е разпределен“, вижте по-долу.
Ето обяснение на параметрите:
-e 'ACCEPT_EULA=Y'
Y
показва, че сте съгласни с EULA (Лицензионно споразумение с краен потребител). Това е задължително.-e 'SA_PASSWORD=reallyStrongPwd#123'
- Задължителен параметър, който задава
sa
парола за база данни. -p 1433:1433
- Това преобразува локалния порт 1433 към порт 1433 на контейнера. Първата стойност е TCP портът на хост средата. Втората стойност е TCP портът в контейнера.
--name Bart
- Друг незадължителен параметър. Този параметър ви позволява да наименувате контейнера. Това може да бъде удобно, когато спирате и стартирате контейнера си от терминала. Може да предпочетете да му дадете по-описателно име като
sql_server_2019
или подобен. -d
- Този незадължителен параметър стартира Docker контейнера в режим на демон. Това означава, че работи във фонов режим и не се нуждае от отворен собствен прозорец на терминала. Можете да пропуснете този параметър, за да може контейнерът да работи в собствен прозорец на терминала.
mcr.microsoft.com/mssql/server:2019-latest
- Това казва на Docker кое изображение да използва.
Сига на паролата
Трябва да използвате силна парола. Microsoft казва това за паролата:
Паролата трябва да следва правилата за пароли по подразбиране на SQL Server, в противен случай контейнерът не може да настрои SQL сървър и ще спре да работи. По подразбиране паролата трябва да бъде поне 8 знака и да съдържа знаци от три от следните четири набора:главни букви, малки букви, основни 10 цифри и символи.
Грешка – „Порт вече е разпределен“?
Ако получите грешка, която казва нещо за „портът вече е разпределен“, тогава може би вече имате инсталиран SQL Server на друг контейнер, който използва този порт. В този случай ще трябва да картографирате към друг порт на хоста.
Следователно, можете да промените горната команда на нещо подобно:
sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=reallyStrongPwd#123" -p 1400:1433 --name Bart -d mcr.microsoft.com/mssql/server:2019-latest
В този случай просто промених
-p 1433:1433
до-p 1400:1433
. Всичко останало остава същото.Сега може да получите грешка, която казва, че първо трябва да премахнете съществуващия контейнер. За да направите това, изпълнете следното (но разменете
Bart
с името на вашия собствен контейнер):sudo docker rm Bart
След като го премахнете, можете да опитате да изпълните предишната команда отново.
Имайте предвид, че ако промените порта, както направих тук, вероятно ще трябва да включите номера на порта, когато се свързвате със SQL Server от всякакви инструменти за база данни от вашия работен плот. Например, когато се свързвате чрез Azure Data Studio (споменато по-долу), можете да се свържете с помощта на
Localhost,1400
вместо самоLocalhost
. Същото е и с mssql-cli, който е SQL инструмент на командния ред.
Проверете всичко
След като го направихме, трябва да сме готови. Нека преминем и направим няколко проверки.
-
Проверете контейнера на Docker (по избор)
Можете да въведете следната команда, за да проверите дали Docker контейнерът работи.
sudo docker ps -a
В моя случай получавам това:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c1b060f68fcb mcr.microsoft.com/mssql/server:2019-latest "/opt/mssql/bin/sqls…" About a minute ago Up About a minute 0.0.0.0:1400->1433/tcp Bart fdec67e6a28d microsoft/mssql-server-linux "/opt/mssql/bin/sqls…" 4 months ago Up 8 days 0.0.0.0:1433->1433/tcp Homer
Това ми казва, че имам два докер контейнера, работещи:единият се нарича Bart а другият се нарича Homer .
-
Свържете се със SQL Server
Тук използваме инструмента на командния ред на SQL Server, наречен „sqlcmd“ вътре в контейнера, за да се свържем със SQL Server.
sudo docker exec -it Bart "bash"
Въведете паролата си, ако бъдете подканени.
Сега, когато сте вътре в контейнера, свържете се локално с sqlcmd:
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "reallyStrongPwd#123"
Това трябва да ви отведе до подканата sqlcmd 1> .
-
Изпълнете бърз тест
Изпълнете бърз тест, за да проверите дали SQL Server работи и работи. Например, проверете версията на SQL Server, като въведете това:
SELECT @@version
Това ще ви отведе до командния ред 2> на следващия ред. За да изпълните заявката, въведете:
GO
Резултат:
+--------------------+ | (No column name) | |--------------------| | Microsoft SQL Server 2019 (RTM-CU3) (KB4538853) - 15.0.4023.6 (X64) Mar 4 2020 00:59:26 Copyright (C) 2019 Microsoft Corporation Developer Edition (64-bit) on Linux (Ubuntu 18.04.4 LTS) | +--------------------+ (1 row affected)
Ако видите съобщение като това, поздравления — SQL Server вече е готов и работи на вашия Mac!
Ако предпочитате да използвате GUI за управление на SQL Server, прочетете нататък.
Azure Data Studio
Azure Data Studio е безплатен инструмент за управление на GUI, който можете да използвате за управление на SQL Server на вашия Mac. Можете да го използвате за създаване и управление на бази данни, писане на заявки, архивиране и възстановяване на бази данни и други.
Azure Data Studio се предлага за Windows, Mac и Linux.
Ето някои статии/уроци, които съм написал за Azure Data Studio:
- Какво е Azure Data Studio
- Как да инсталирате Azure Data Studio на вашия Mac
- Как да създадете база данни с Azure Data Studio
- Как да възстановим база данни с Azure Data Studio на Mac
Друг безплатен GUI на SQL сървър – DBeaver
Друг GUI инструмент на SQL Server, който можете да използвате на вашия Mac (и Windows/Linux/Solaris), е DBeaver.
DBeaver е безплатен инструмент за управление на база данни с отворен код, който може да се използва в повечето системи за управление на бази данни (като MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server, Sybase, Microsoft Access, Teradata, Firebird, Derby и др. ).
Написах малко въведение в DBeaver или можете да отидете направо на страницата за изтегляне на DBeaver и да го изпробвате с новата си инсталация на SQL Server.