İçeriğe geç

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

Kategori: Veritabanı Sistemleri, ve Web Sunucuları

Veritabanı sunucusunda yapılan teknik tercihler performans ve güvenliği doğrudan etkiler. Hatalar yük arttığında ortaya çıkar. SQL Server’ın Linux desteğiyle Ubuntu ve RHEL güçlü bir alternatif sunar. Linux, lisans maliyetleri ve kaynak verimliliği sayesinde hem yerel hem de bulut ortamlarında daha ekonomik bir çözüm sağlar.

SQL Server, Linux üzerinde SQLPAL adı verilen özel bir köprü sayesinde çalışır. Bu yapı, Windows sistem komutlarını anında Linux diline çevirir. Böylece veritabanı hiçbir yavaşlama yaşamadan, sanki kendi doğal ortamındaymış gibi yüksek performansla çalışmaya devam eder.

Desteklenen Dağıtımlar ve Sistem Gereksinimleri

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 Üzerine SQL Server Kurulumu

Bu bölümde en popüler Linux dağıtımlarından biri olan Ubuntu üzerinden ilerleyeceğiz.

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

Sürüm – Ekranda bir liste göreceksiniz. Eğer öğrenme veya test amaçlı kuruyorsanız 2 (Developer) seçeneğini işaretleyin.

Sözleşme Lisans kurallarını kabul ettiğinizi belirtmek için onay vermeniz istenir.

Güçlü Bir Şifre Sistem yöneticisi için bir şifre oluşturun. Şifrenizin içinde mutlaka büyük harf, küçük harf ve rakam olmalıdır.

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?

SSMS veya Azure Data Studio ile sunucu IP’si ve kullanıcı bilgileri girilerek Linux üzerindeki SQL Server’a sorunsuz şekilde bağlanabilirsiniz.

Linux üzerinde performans kaybı olur mu?

Çoğu senaryoda performans başa baştır, bazı durumlarda Linux daha verimli kaynak kullanımı sayesinde avantaj sağlar.

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

SQL Server .bak dosyaları platform bağımsızdır. Windows’tan alınan yedek Linux’a, Linux’tan alınan yedek Windows’a sorunsuz şekilde geri yüklenebilir.

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

İhtiyaca göre değişir. MySQL ve MariaDB hafif, ücretsiz ve web projeleri için idealdir. Ancak kurumsal uygulamalar, karmaşık sorgular, gelişmiş analitik ve .NET tabanlı sistemler için SQL Server daha güçlü ve entegre bir çözüm sunar.

İlk Yorumu Siz Yapın

Bir yanıt yazın

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