Veritabanı SistemleriWeb Sunucuları

      Linux Sunucuda SQL Server Kurulumu Nasıl Yapılır?

      Teknik tercihler bir sunucunun gelecekteki performansını ve güvenlik seviyesini belirler. Hataların çoğu sistem yükü tavan yaptığında kendisini gösterir. SQL Server desteğiyle Ubuntu ve RHEL gibi sistemler artık çok daha popüler bir hale geldi. Linux tabanlı çözümler hem bulutta hem de fiziksel sunucularda bütçe dostu bir yapı sunar. SQLPAL teknolojisi sayesinde veritabanı komutları Linux çekirdeğine anında iletilir. Bu entegrasyon sayesinde herhangi bir performans kaybı yaşanmaz ve veritabanı doğal bir hızla çalışır.

      Linux Veritabanı Sunucusu İçin Sistem ve Dağıtım

      SQL Server her Linux sürümünde çalışabilir ancak sorunsuz bir deneyim için Microsoft tarafından onaylanmış şu sistemleri seçmek en güvenli yoldur.

      Ubuntu Üzerinde SQL Server Kurma ve Yönetme

      Kurulum sürecini anlatırken en geniş kullanıcı kitlesine sahip olan Ubuntu dağıtımını referans alıyoruz.

      Sistemin Güvenliğini Sağlayalım

      Öncelikle sistemin Microsoft paketlerini tanıyabilmesi için dijital anahtarları içe aktarmamız gerekiyor. Terminalden aşağıdaki komutu girelim.

      wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg

      Ardından SQL Server 2022 deposunu listemize ekliyoruz.

      curl https://packages.microsoft.com/config/ubuntu/22.04/mssql-server-2022.list | sudo tee /etc/apt/sources.list.d/mssql-server-2022.list

      Kurulumu Başlatalım

      Depoları güncelledikten sonra standart paket yükleme komutuyla ana motoru kuruyoruz.

      sudo apt-get update
      sudo apt-get install -y mssql-server

      Yapılandırma Süreci

      Kurulum bittiğinde SQL Server henüz çalışmaz durumda olacaktır. Bu aşamada karşınıza bir menü çıkacak.

      sudo /opt/mssql/bin/mssql-conf setup
      • Yazılım Versiyonunu Belirleyelim Geliştirici modunda ilerlemek adına ekran üzerindeki 2 seçeneğini tercih edelim.
      • Sözleşme Adımını Geçelim Kullanım şartlarını onaylayarak sistemin kurulumu tamamlamasına izin verelim.
      • Yeni Bir Şifre Tanımlayalım Yönetici hesabı için içerisinde rakamların ve farklı harf tiplerinin olduğu güçlü bir parola girelim.

      Servisin Durumunu Kontrol Etme

      Sistemin kontrolünü sağlayalım.

      systemctl status mssql-server

      Veritabanına İlk Bağlantı ve Araçlar

      SQL Server kuruldu ancak ona komut gönderecek bir araca ihtiyacımız var. Linux tarafında en iyi komut sqlcmd aracıdır.

      CLI Araçlarını Yükleme

      Aşağıdaki komutlarla terminal üzerinden SQL sorguları yazmamıza yarayan araçları yüklüyoruz.

      sudo apt-get install -y mssql-tools18 unixodbc-dev<br>echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc<br>source ~/.bashrc

      Artık ilk sorgunuzu atabilirsiniz. Ekranda Microsoft SQL Server 2022 yazısını görürsek kurulum tamamlanmıştır.

      sqlcmd -S localhost -U sa -P 'BelirlediginizSifre' -C -Q "SELECT @@version"

      Ağ ve Güvenlik Duvarı Yapılandırması

      SQL Server varsayılan olarak 1433 portunu kullanır. Bu portun internete tamamen açık olması büyük bir güvenlik açığıdır.

      Sadece belirli bir IP adresinden erişime izin vermek en güvenli yoldur.

      sudo ufw allow from 192.168.1.50 to any port 1433 proto tcp
      sudo ufw enable

      SSH Güvenliği

      Aynı yapılandırma dosyasında PermitRootLogin ayarını no durumuna getirelim.

      Giriş yaparken şifre yazmak yerine çok daha güvenli olan RSA anahtarlarını tercih edelim.

      /etc/ssh/sshd_config dosyasını açalım ve standart 22 portu yerine 2222 gibi farklı bir değer belirleyelim.

      Bellek Limiti Belirleme

      Linux çekirdeği ve SQL Server bazen bellek kullanımı konusunda rekabete girebilir. Eğer SQL Server tüm RAM’i tüketirse sistem kilitlenebilir.

      Örneğin 8 GB RAM’e sahip bir sunucuda, SQL Server’ın en fazla 6 GB kullanmasını sağlayalım:

      sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 6144
      sudo systemctl restart mssql-server

      TLS Şifrelemeyi Aktif Etme

      Güvenlik sertifikalarımızı oluşturalım ve bunları /etc/mssql/certs/ dizinine yerleştirelim.

      SQL Server’ın bu dosyaları okuyabilmesi için sahipliği mssql kullanıcısına devredelim sudo chown mssql:mssql /etc/mssql/certs/*

      SQL Server yapılandırma aracını kullanarak sisteme bu sertifikayı kullanması gerektiğini bildirelim.

      sudo /opt/mssql/bin/mssql-conf set network.tlscert /etc/mssql/certs/sunucu.pem
      sudo /opt/mssql/bin/mssql-conf set network.tlskey /etc/mssql/certs/sunucu.key
      sudo /opt/mssql/bin/mssql-conf set network.tlsprotocols 1.2

      Sık Sorulan Sorular

      Windows’taki SSMS ile Linux üzerindeki SQL Server’a bağlanabilir miyim?

      Windows üzerinde çalışan SSMS ya da Azure Data Studio kullanarak sunucu IP’sini ve yetkili kullanıcı bilgilerini girmeniz yeterlidir; Linux’taki SQL Server’a bağlantı sorunsuz şekilde sağlanır.

      Linux üzerinde performans kaybı olur mu?

      Çoğu senaryoda performans eşdeğerdir ve bazı iş yüklerinde Linux’un daha etkin kaynak kullanımı avantaj yaratabilir.

      Yedek dosyaları Windows ve Linux arasında taşınabilir mi?

      .bak formatındaki SQL Server yedekleri işletim sisteminden bağımsızdır; Windows ortamında alınan bir yedek Linux’ta, Linux’ta alınan bir yedek de Windows’ta sorunsuz biçimde geri yüklenebilir.

      SQL Server mı yoksa MySQL/MariaDB mi tercih edilmeli?

      Bu karar proje gereksinimlerine göre verilmelidir. MySQL ve MariaDB ücretsiz ve hafif çözümler sunarken web uygulamaları için uygundur; buna karşılık kurumsal seviyede karmaşık sorgular, gelişmiş analizler ve .NET altyapıları için SQL Server daha kapsamlı bir platform sağlar.

      Hi, I’m Spesifik

      Bir yanıt yazın

      E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir