Bu makalede Linux ortamına MSSQL Server kurulumuna değinmiş olacağız. Bunun için ubuntu web sayfasından kuracağım ubuntu desktop sürümünü indirmiş oldum. Mssql server kurulumunu Linux sunucusu üzerinde yapacağım. Sunucu üzerinde yapmayıp Xshell veya MobaXterm gibi programlar sayesinde Linux sunucusuna bağlanılıp mssql kurulumu rahatlıkla yapılabilir. Bunun için bağlantı konfigürasyonların yapılması gerekmektedir.
Belirtilen linkten Ubuntu resimdeki ubuntu sürümü indirilebilir.
Not: Microsoft Ubuntu 20.04 ve 22.04 versiyonlarını destekliyor. Ubuntu 24.04 versiyonunu desteklemediği için hata mesajı almış oldum.
Not: Ubuntu kurulumunda işletim sistemi dili Türkçe seçilmesi mssql server kurulum aşamalarında hata almamıza sebebiyet verecektir.
MSSQL Server kurulumu yapabilmemiz için Linux işletim sistemlerinin Docker engine, centos,ubuntu, Suse Linux Enterprise server sürümleri olması gerekmektedir.
Linux işletim sistemi üzerinde mssql server kurulumuna geçebiliriz. Bunun için Linux terminal’ini açıyorum.
Aşağıdaki komutu kullanarak root kullanıcısına geçiş yapılır.
Root bağlantısını yaptıktan sonra sırasıyla aşağıdaki adımlar uygulanır.
- Adım Genel depo GPG anahtarlarını içe aktarın:
Microsoft web sitesinden genel depo GPG anahtarlarını içe aktarmak için aşağıdaki komutu çalıştırın. İstendiğinde, sudo kullanıcısı için parolayı girilmesi gerekmektedir. Yukarıda başlangıç olarak root ile giriş yapmıştık.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Yukarıdaki komut satırını çalıştırdığımızda bize öncelikle yüklememiz gereken ayarları gösteriyor. Önerildiği gibi yüklememizi yapıyoruz. Önerilen yüklemelerden birini yapmamız yeterli olacaktır. Bu yüklemeler curl ile başlayan komutların çalıştırılmasını sağlamaktadır.
sudo snap install curl # version 8.1.2 sudo apt install curl # version 8.5.0-2ubuntu10.4
Yüklemelerimizi yaptıktan sonra ilgili GPG anahtarını aşağıdaki komut ile içe aktarmış oluyoruz.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
- Adım sql server ubuntu kaynağını sunucumuza kaydediyoruz. SQL Server 2022 için Microsoft SQL Server deposunu eklemek üzere aşağıdaki komutu çalıştırın.
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
Not: Kullanmış olduğum ubuntu sürümü 20.04 olmasına yukarıdaki komut satırında 20.04 yazabiliriz. Arama moturunda ilgili uzantıya gittiğimizde ilgili sql kaynağına ulaşılabiliriz. Microsoft 22.04 yapısınıda destekliyor. Ama ubuntu desktop 24.04 versiyonunu desteklememektedir.
Not: Başka bir ubuntu sürümü kullanmak istersek aşağıdaki komutla güncelleme alabiliriz. Bu komut sayesinde yukarıdaki 22.04 güncellemeyi almış oldum.
Sudo apt –get update
Bu komut aynı zamanda deponuzu en son sürüme güncelleme komutudur.
- Adım SQL Server kurulumunun yapılması gerekmektedir.
sudo apt-get install -y mssql-server
Yukarıdaki komut ile mssql kurulumu başlamış durumda
MSSQL Server setup dosyamız başarılı bir şekilde yüklenmiş oldu.
- Adım Linux ortamına yüklemiş olduğumuz mssql server yapımızı yapılandırma işleminde SQL Server’ı yapılandırmaya başlamak için aşağıdaki komutu çalıştırılır.
sudo /opt/mssql/bin/mssql-conf setup
Yukarıdaki komutu yazdıktan sonra gelen ekranda hangi sql server sürümünü kullanmak istiyorsak ilgili seçim yapılabilir.
Evulation: 180 gün boyunca tüm özellikleri kullanacağımız bir yapı olarak karşımıza çıkmaktadır.
Express: SQL Server’ın kısıtlı sürümünü kurmanızı sağlar. Database boyutu olarak en fazla 10 Gibabyte’a kadar desteklemektedir.
Developer: Geliştirme ve öğrenme süreçleriniz için ücretsiz sunulan Enterprise versiyonu özelliklerini taşıyan sürümdür. Sürekli kullanacağımız bir sürüm.
Eğer elimde bir lisans anahtarı olsaydı 8. Seçeneği seçmiş olurduk.
Developer seçeneğini seçip Enter tuşuna basıyorum.
Gelen ekranda lisans koşullarını kabul ediyor musun seçeneğine Yes diyiyorum.
Eğer işletim sistemi olarak Türkçe kullanıyorsanız kurulum adımında sql server dilini İngilizce yapabiliriz. Sunucu diliniz İngilizce ise böyle bir seçenek karşınıza gelmemektedir.
Lisans koşullarını kabul ettikten sonra bizden sql server administrator şifresi istiyor.
Şifre belirledikten sonra Sql server servisinin başarılı bir şekilde kurulduğunu görmekteyiz.
- Adım Aşağıdaki komut ile sql server’ın çalışıp çalışmadığını kontrol edebiliriz.
systemctl status mssql-server
Diğer komutlarla mssql servisini durdurup,çalıştırabilirsiniz.
- sudo systemctl stop mssql-server
- sudo systemctl start mssql-server
- sudo systemctl restart mssql-server
Yukarıdaki ilk bölümde Linux işletim sistemi üzerine mssql server kurulumu yapmış olduk. Kurmuş olduğumuz bu mssql üzerinde veritabanı oluşturmak için, SQL Server’da Transact-SQL ifadelerini çalıştırabilen bir araçla bağlantı kurmanız gerekir. Aşağıdaki adımlar la SQL Server komut satırı araçlarını yüklememiz gerekmektedir. sqlcmd ve bcp SQL Server komut satırı araçlarını yüklemek için aşağıdaki adımları izlememiz gerekmektedir.
İlk olarak curl ifadelerin çalıştırılabilmesi için aşağıdaki ifadelerin çalıştırılması gerekmektedir. Makale başında mssql kurulumu içinde bu adımları tekrarlamıştık. Bunun için tekrardan çalıştırılmasına gerek yoktur.
sudo apt-get update sudo apt install curl
Aşağıdaki resimde görüldüğü gibi makalenin başında yapmıştık.
- Adım GPG anahtarlarını içe aktarmanız gerekiyor.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
- Daha sonra aşağıdaki komutu çalıştırarak Ubuntu deposunu kaydetmeniz gerekiyor.
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Not: 20.04 bizim Ubuntu versiyonumuz.
- Bir sonraki adım kaynak listesini güncellemek ve unixODBCgeliştirici paketini yüklemektir.
sudo apt-get update sudo apt-get install mssql-tools18 unixodbc-dev
Gelen ekranda Lisans koşullarını Kabul etmek istiyormusunuz diye soruyor Evet diyiyoruz.
- Adım mssql-tools’un en son sürümüne güncellemek için aşağıdaki komutları çalıştırın:
sudo apt-get update sudo apt-get install mssql-tools18
sqlcmd veya bcp‘yi bash kabuğundan erişilebilir kılmak için ortam değişkenimize eklenmesi gerekmektedir . Etkileşimli oturumlar için aşağıdaki komutu çalıştırılması gerekmektedir.
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
sqlcmd ve bcp’yi etkileşimli/oturum açmayan oturumlar için bash kabuğundan erişilebilir hale getirmek için PATH dosyadaki komutu ~/.bashrcaşağıdaki komutla değiştirin:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc source ~/.bashrc
- Adım yukarıdaki adımlardan sonra şimdi mssql server yapımıza bağlanalım.
Localimizden bulunan mssql server yapımıza bağlanmak için .(nokta),local,localhost,sunucu_adı ifadelerle bağlanabiliriz.
sqlcmd -S localhost -U sa -P 'password' sqlcmd -S . -U sa
1 ifadesini görüyorsak mssql yapımıza bağlandığını gösteriyor.
Komut satırında çekeceğimiz sorgularda kolunların belirtilmesi okunabilirlik açısından önemlidir. Yapılan her işlemden sonra GO ifadesinin çalıştırılması gerekmektedir.
Yeni bir database oluşturduktan sonra aşağıdaki komut ile tekrardan veritabanı sayısına baktığımızda veritabanımızın oluştuğunu gözlemlemiş oluyoruz.
Sqlcmd oturumunuzu sonlandırmak için EXIT yazılması yeterlidir.
Sql server üzerinde bulunan bir veritabanının backup’ını alabiliriz.
sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [Y23] TO DISK = N'/var/opt/mssql/data/Y23.bak' WITH NOFORMAT, NOINIT, NAME = 'Y23-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
Backup alınmış bir veritabanını mssql server’a restore edebiliriz.
sqlcmd -S localhost -U sa -Q "RESTORE DATABASE [db23] FROM DISK = N'/var/opt/mssql/data/db23.bak' WITH FILE = 1, NOUNLOAD,REPLACE, NORECOVERY, STATS = 5"
Başarılı bir şekilde Backup işlemimiz gerçekleşmiş oldu.
sql server system konfigürasyonunu görebiliriz.
Aşağıdaki komut ile uzaktan erişimi açmış oluruz.
Sunucumuz üzerinde firewall’un kapalı olup olmadığını öğrenebiliriz.
Eğer işletim sistemi üzerinde port kısıtlaması varsa sql server’ın default port numarası olan 1433 portunun açılması gerekmektedir. Aşağıdaki komut ile 1433 portunu açabiliriz.
firewall-cmd --zone=public --add-port=1433/tcp –permanent
İlgili port’u açmak istediğimde aşağıdaki hata mesajıyla karşılaştım ve gerekli güncellemeleri firewall üzerinde yaptıktan sonra komutumu tekrardan çalıştırdım.
Yukarıdaki firewall yüklemelerinden sonra sql server 1433 portunu aktif etmiş oldum.
Linux sunucusunun ip yapısını öğrenmek için aşağıdaki komutlar kullanılmaktadır.
ifconfig
Yukarıdaki ip ve port bilgilerinden sonra localimizde bulunan SSMS arayüzünden Linux üzerinde çalışan mssql server yapımıza bağlanabiliriz.
Bu makalede Linux işletim sistemi üzerinde mssql server kurulumunu görmüş olduk. Başka bir makalede görüşmek dileğiyle.
0 Yorum