Takip et

Rocky Linux 8 Üzerine MariaDB Kurulumu

Rocky Linux 8 Üzerine MariaDB Kurulumu Veritabanları, modern yazılım uygulamalarının ve web sitelerinin temelini oluşturur. Bilgilerin depolan

Rocky Linux 8 Üzerine MariaDB Kurulumu

Veritabanları, modern yazılım uygulamalarının ve web sitelerinin temelini oluşturur. Bilgilerin depolanması, yönetilmesi ve erişilebilir kılınması için güvenilir ve yüksek performanslı bir veritabanı yönetim sistemine ihtiyaç duyulur. MariaDB, MySQL’in açık kaynaklı bir çatalı (fork) olarak ortaya çıkmış, performans, güvenlik ve esneklik açısından önemli iyileştirmeler sunan popüler bir ilişkisel veritabanı yönetim sistemidir (RDBMS). Rocky Linux 8 ise, kararlılığı, güvenilirliği ve kurumsal düzeydeki desteğiyle bilinen bir CentOS alternatifi olup, sunucu ortamları için ideal bir platformdur.

Bu makalede, Rocky Linux 8 sunucunuza MariaDB’yi nasıl kuracağınızı adım adım detaylı bir şekilde anlatacağız. Kurulumun yanı sıra, veritabanı güvenliğini sağlamak, temel yapılandırmaları yapmak ve MariaDB’yi kullanmaya başlamak için gerekli adımları da ele alacağız. İki ana kurulum yöntemini inceleyeceğiz: Rocky Linux’un varsayılan uygulama akışı (AppStream) depolarından kurulum ve MariaDB’nin resmi depolarından en güncel sürümü kurma.

MariaDB Nedir? Neden Kullanmalıyız?

MariaDB, MySQL’in kurucuları tarafından geliştirilen ve tamamen açık kaynaklı kalan bir veritabanı yönetim sistemidir. MySQL’in Oracle tarafından satın alınmasının ardından, açık kaynak topluluğunun endişelerini gidermek ve özgür yazılım ilkelerine bağlı kalmak amacıyla 2009 yılında oluşturulmuştur. MariaDB, MySQL ile yüksek derecede uyumludur, yani MySQL için yazılmış çoğu uygulama, MariaDB ile sorunsuz bir şekilde çalışabilir.

MariaDB’nin sunduğu temel avantajlar şunlardır:

* Açık Kaynak ve Topluluk Desteği: GNU GPL lisansı altında dağıtılır ve dünya çapında geniş bir geliştirici ve kullanıcı topluluğu tarafından desteklenir.
* Yüksek Performans: Gelişmiş sorgu optimizasyonları, daha iyi depolama motorları (örneğin, Aria depolama motoru) ve paralel sorgu işleme gibi özelliklerle MySQL’e kıyasla daha yüksek performans sunar.
* Gelişmiş Güvenlik: Güvenlik açıklarına hızlı yanıt verme, daha güçlü şifreleme algoritmaları ve gelişmiş denetim eklentileri gibi özelliklerle daha güvenli bir veritabanı ortamı sağlar.
* Esneklik ve Genişletilebilirlik: Çeşitli depolama motorlarını destekler (InnoDB, XtraDB, Aria, MyISAM vb.) ve eklenti mimarisi sayesinde kolayca genişletilebilir.
* Yeni Özellikler: MySQL’de bulunmayan veya daha sonra eklenen birçok yeni özelliği daha hızlı bir şekilde bünyesine katar. Örneğin, JSON fonksiyonları, sistem versiyonlu tablolar ve daha gelişmiş replikasyon seçenekleri.

Rocky Linux 8 ile MariaDB’nin birleşimi, kararlı, güvenli ve yüksek performanslı bir sunucu ortamı oluşturmak için mükemmel bir ikili sunar.

Ön Gereksinimler

MariaDB kurulumuna başlamadan önce aşağıdaki ön gereksinimleri karşıladığınızdan emin olun:

* Rocky Linux 8 İşletim Sistemi: Sunucunuza Rocky Linux 8’in kurulu ve güncel olması gerekmektedir.
* Sudo Yetkileri: Kurulum ve yapılandırma adımları için root kullanıcısı veya sudo yetkilerine sahip bir kullanıcı hesabınız olmalıdır.
* İnternet Bağlantısı: Paketleri indirmek için sunucunuzun aktif bir internet bağlantısına sahip olması gereklidir.
* Temel Linux Bilgisi: Komut satırı (CLI) kullanımı hakkında temel bilgiye sahip olmanız faydalı olacaktır.

Sistem Hazırlığı

Kuruluma başlamadan önce sunucunuzu güncelleyerek ve gerekli bazı araçları kurarak hazırlayalım.

Sistemi Güncelleme

İlk adım olarak, sisteminizdeki mevcut paketleri en son sürümlerine güncelleyelim. Bu, olası bağımlılık sorunlarını çözmeye ve güvenlik açıklarını kapatmaya yardımcı olacaktır.

sudo dnf update -y

Bu komut, tüm yüklü paketleri günceller. -y bayrağı, tüm sorulara otomatik olarak “evet” yanıtı verilmesini sağlar.

Gerekli Araçları Kurma (İsteğe Bağlı ama Önerilir)

Metin düzenleyiciler ve ağ araçları gibi bazı temel araçlar, kurulum ve yapılandırma sırasında işinize yarayabilir.

sudo dnf install -y vim nano wget curl

Güvenlik Duvarı Yapılandırması

Rocky Linux, varsayılan olarak firewalld hizmetini çalıştırır. Eğer MariaDB’ye sadece yerel uygulamaların erişmesini istiyorsanız, güvenlik duvarı yapılandırmasına gerek yoktur. Ancak, uzak bir makineden (başka bir sunucu, geliştirme ortamı vb.) MariaDB’ye bağlanmayı planlıyorsanız, 3306 numaralı varsayılan MariaDB portunu güvenlik duvarında açmanız gerekecektir.

MariaDB portunu güvenlik duvarında kalıcı olarak açmak için aşağıdaki komutları kullanın:

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

Bu komutlar, 3306/tcp portunu güvenlik duvarına ekler ve değişiklikleri etkinleştirmek için güvenlik duvarını yeniden yükler.

SELinux Yapılandırması (Genellikle Gerekli Değil)

SELinux (Security-Enhanced Linux), Rocky Linux’ta varsayılan olarak etkinleştirilmiş bir güvenlik mekanizmasıdır. Çoğu durumda, MariaDB, SELinux ile sorunsuz bir şekilde çalışır ve SELinux’u devre dışı bırakmanıza gerek yoktur. Eğer MariaDB hizmetini başlatırken veya kullanırken SELinux ile ilgili bir hata alırsanız, sorunu gidermek için SELinux politikalarını ayarlamanız gerekebilir. Ancak, bu makalede SELinux’u devre dışı bırakma veya ayarlama adımlarını ele almayacağız, çünkü bu genellikle standart bir kurulum için gerekli değildir ve güvenlik riskleri taşıyabilir. Sorun yaşarsanız, sudo ausearch -c 'mysqld' --raw | audit2allow -M my-mariadb gibi araçlarla politika oluşturmayı düşünebilirsiniz.

MariaDB Kurulum Yöntemleri

Rocky Linux 8 üzerine MariaDB kurmak için iki ana yöntem bulunmaktadır:

1. Rocky Linux AppStream Depolarından Kurulum: Bu yöntem, en kolay ve hızlı olanıdır. Rocky Linux’un kendi depolarında bulunan MariaDB sürümünü kurar. Genellikle kararlı ve iyi test edilmiş bir sürüm olsa da, en güncel sürüm olmayabilir.
2. MariaDB’nin Resmi Depolarından Kurulum: Bu yöntem, MariaDB’nin en son kararlı sürümünü kurmanızı sağlar. MariaDB’nin resmi ekibi tarafından sağlanan depolar, genellikle daha yeni özellikler ve performans iyileştirmeleri içerir.

Her iki yöntemi de ayrı ayrı inceleyelim.

Yöntem 1: Rocky Linux AppStream Depolarından MariaDB Kurulumu

Rocky Linux 8, DNF (Dandified YUM) paket yöneticisini kullanır ve AppStream (Application Stream) depoları aracılığıyla farklı MariaDB modülleri sunar.

Mevcut MariaDB Modüllerini Listeleme

Öncelikle, AppStream depolarında hangi MariaDB modüllerinin mevcut olduğunu kontrol edelim:

sudo dnf module list mariadb

Bu komutun çıktısı, genellikle aşağıdaki gibi bir şey gösterecektir (sürümler farklılık gösterebilir):

Rocky Linux 8 - AppStream
Name       Stream   Profiles         Summary
mariadb    10.3     client, server   MariaDB 10.3 database
mariadb    10.5 [d] client, server   MariaDB 10.5 database
mariadb    10.6     client, server   MariaDB 10.6 database

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

Burada [d] ile işaretlenmiş olan sürüm varsayılan sürümdür. Genellikle en son kararlı sürümü tercih etmek iyi bir uygulamadır. Bu örnekte 10.5 veya 10.6’yı seçebiliriz.

MariaDB Modülünü Etkinleştirme

Kurmak istediğiniz MariaDB sürümünü etkinleştirmeniz gerekir. Örneğin, MariaDB 10.6’yı etkinleştirelim:

sudo dnf module enable mariadb:10.6 -y

Eğer daha önce başka bir sürüm etkinleştirilmişse veya varsayılan sürümü kullanmak istiyorsanız, bu adımı atlayabilirsiniz.

MariaDB Server ve Client Kurulumu

Şimdi MariaDB sunucusunu ve istemci araçlarını kuralım:

sudo dnf install -y mariadb-server mariadb

Bu komut, MariaDB sunucu paketini, istemci paketini ve gerekli tüm bağımlılıkları yükleyecektir.

MariaDB Hizmetini Başlatma ve Etkinleştirme

Kurulum tamamlandıktan sonra, MariaDB hizmetini başlatmanız ve sistem başlangıcında otomatik olarak başlaması için etkinleştirmeniz gerekir:

sudo systemctl start mariadb
sudo systemctl enable mariadb
MariaDB Hizmet Durumunu Kontrol Etme

MariaDB hizmetinin başarıyla çalıştığını doğrulamak için durumunu kontrol edebilirsiniz:

sudo systemctl status mariadb

Çıktıda Active: active (running) ifadesini görmelisiniz.

Yöntem 2: MariaDB’nin Resmi Depolarından MariaDB Kurulumu (Önerilen)

Bu yöntem, MariaDB’nin en son kararlı sürümünü doğrudan MariaDB.org’dan kurmanızı sağlar. Bu, genellikle daha yeni özelliklere ve performans iyileştirmelerine erişim anlamına gelir.

MariaDB Depo Dosyasını Oluşturma

MariaDB’nin resmi deposunu sisteminize eklemek için /etc/yum.repos.d/ dizini altında bir .repo dosyası oluşturmanız gerekir. Bu dosyayı oluşturmak için vim veya nano gibi bir metin düzenleyici kullanabilirsiniz.

Öncelikle, MariaDB’nin GPG anahtarını içe aktaralım. Bu, indirilen paketlerin bütünlüğünü ve orijinalliğini doğrulamak için kullanılır:

sudo rpm --import https://mariadb.org/mariadb_release_signing_key.asc

Şimdi, depo dosyasını oluşturalım. Örneğin, MariaDB 10.6 sürümünü kurmak istediğimizi varsayalım. mariadb.repo adında bir dosya oluşturalım:

sudo nano /etc/yum.repos.d/mariadb.repo

Dosyaya aşağıdaki içeriği yapıştırın. 10.6 kısmını kurmak istediğiniz MariaDB sürümüne göre değiştirebilirsiniz (örneğin, 10.11 veya daha yeni bir sürüm için):

# MariaDB 10.6 Rocky Linux repository
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/10.6/rhel8-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1

Kaydedin ve dosyadan çıkın (Nano için Ctrl+X, Y, Enter).

MariaDB Server ve Client Kurulumu

Depo dosyasını ekledikten sonra, MariaDB sunucusunu ve istemci araçlarını kurabilirsiniz:

sudo dnf install -y MariaDB-server MariaDB-client

Burada paket adlarının MariaDB-server ve MariaDB-client şeklinde büyük harfle başladığına dikkat edin. Bu, resmi depolardaki paket adlandırma kuralıdır.

MariaDB Hizmetini Başlatma ve Etkinleştirme

Kurulum tamamlandıktan sonra, MariaDB hizmetini başlatın ve sistem başlangıcında otomatik olarak başlaması için etkinleştirin:

sudo systemctl start mariadb
sudo systemctl enable mariadb
MariaDB Hizmet Durumunu Kontrol Etme

Hizmetin başarıyla çalıştığını doğrulamak için durumunu kontrol edin:

sudo systemctl status mariadb

Çıktıda Active: active (running) ifadesini görmelisiniz.

MariaDB Kurulumunu Güvenli Hale Getirme

MariaDB kurulumundan sonra yapmanız gereken en kritik adımlardan biri, veritabanı sunucunuzu güvenli hale getirmektir. MariaDB, yeni kurulumlarda bazı güvenlik açıklarına sahip olabilir (örneğin, root kullanıcısı için parola olmaması, test veritabanının varlığı). Bu sorunları çözmek için mysql_secure_installation betiğini kullanacağız.

sudo mysql_secure_installation

Bu betik sizi bir dizi soruyla yönlendirecektir:

1. Enter current password for root (enter for none): Root kullanıcısı için mevcut bir parola sorulur. Yeni bir kurulum yaptığınız için varsayılan olarak parola yoktur, bu yüzden Enter tuşuna basarak devam edin.
2. Set root password? [Y/n]: Root kullanıcısı için bir parola belirlemek isteyip istemediğiniz sorulur. Y tuşuna basıp güçlü bir parola belirlemeniz ŞİDDETLE önerilir. Parolayı iki kez girmeniz istenecektir.
3. Remove anonymous users? [Y/n]: Anonim kullanıcılar, herkesin veritabanına giriş yapmasına izin verir ve güvenlik riskidir. Y tuşuna basarak bunları kaldırın.
4. Disallow root login remotely? [Y/n]: Root kullanıcısının sadece yerel makineden (localhost) bağlanmasına izin verilmesi güvenlik açısından önemlidir. Uzaktan root girişi genellikle önerilmez. Y tuşuna basarak uzaktan root girişini devre dışı bırakın.
5. Remove test database and access to it? [Y/n]: Varsayılan olarak bir test veritabanı bulunur. Bu veritabanı genellikle güvenlik açığı oluşturabilir. Y tuşuna basarak kaldırın.
6. Reload privilege tables now? [Y/n]: Yapılan değişikliklerin hemen etkin olması için ayrıcalık tablolarının yeniden yüklenmesi gerekir. Y tuşuna basarak yeniden yükleyin.

Tüm bu adımları tamamladıktan sonra MariaDB kurulumunuz daha güvenli hale gelecektir.

MariaDB Temel Kullanımı ve Yapılandırması

MariaDB kurulumunuz artık güvenli ve çalışır durumda. Şimdi, veritabanı oluşturma, kullanıcı ekleme ve temel yapılandırma gibi bazı yaygın görevlere bakalım.

MariaDB’ye Giriş

MariaDB’ye root kullanıcısı olarak giriş yapmak için:

mysql -u root -p

Parola istendiğinde, mysql_secure_installation sırasında belirlediğiniz root parolasını girin. Başarılı bir şekilde giriş yaptığınızda MariaDB komut istemini (MariaDB [(none)]>) göreceksiniz.

Yeni Veritabanı Oluşturma

Uygulamalarınız için yeni bir veritabanı oluşturabilirsiniz:

CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Bu komut, mydatabase adında bir veritabanı oluşturur ve UTF-8 karakter setini kullanarak uluslararası karakter desteği sağlar.

Yeni Kullanıcı Oluşturma ve Yetkilendirme

Uygulamalarınızın root kullanıcısı yerine kendi özel kullanıcıları ile veritabanına bağlanması güvenlik açısından daha iyidir.

Yeni bir kullanıcı oluşturun ve yerel makineden (localhost) bağlanmasına izin verin:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'MyStrongPassword';

Şimdi, bu kullanıcıya mydatabase üzerinde tüm ayrıcalıkları verin:

GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';

Değişikliklerin etkili olması için ayrıcalık tablolarını yeniden yükleyin:

FLUSH PRIVILEGES;

MariaDB komut isteminden çıkmak için:

EXIT;

Yeni oluşturduğunuz kullanıcı ile bağlanmayı deneyin:

mysql -u myuser -p

Parola istendiğinde MyStrongPassword‘u girin.

MariaDB Yapılandırma Dosyası

MariaDB’nin ana yapılandırma dosyası genellikle /etc/my.cnf veya /etc/my.cnf.d/ dizini altındaki .cnf uzantılı dosyalardır. MariaDB, bu dizinlerdeki tüm .cnf dosyalarını okur.

Yaygın olarak yapılandırılan bazı parametreler şunlardır:

* bind-address: MariaDB’nin hangi IP adreslerini dinleyeceğini belirler. Varsayılan olarak 127.0.0.1 (localhost) olarak ayarlanmıştır. Eğer uzak bağlantılara izin vermek istiyorsanız, bu değeri 0.0.0.0 (tüm arayüzler) veya belirli bir IP adresi olarak değiştirmelisiniz.
* innodb_buffer_pool_size: InnoDB depolama motorunun kullandığı bellek miktarını belirler. Sunucunuzdaki RAM miktarına göre optimize edilmelidir (genellikle toplam RAM’in %50-70’i).
* max_connections: Sunucuya aynı anda bağlanabilecek maksimum istemci sayısını belirler.

Yapılandırma dosyasını düzenlemek için:

sudo nano /etc/my.cnf.d/mariadb-server.cnf

Veya eğer yoksa /etc/my.cnf dosyasını kontrol edin.

Örneğin, bind-address değerini değiştirmek için:

# /etc/my.cnf.d/mariadb-server.cnf veya /etc/my.cnf içinde
[mysqld]

... diğer ayarlar ...

bind-address = 0.0.0.0

Yapılandırma dosyasında herhangi bir değişiklik yaptıktan sonra MariaDB hizmetini yeniden başlatmanız gerekir:

sudo systemctl restart mariadb

Uzaktan Bağlantılara İzin Verme

Eğer MariaDB sunucunuza uzak bir makineden bağlanmak istiyorsanız, birkaç adımı tamamlamanız gerekir:

1. bind-address Yapılandırması: Yukarıda belirtildiği gibi, MariaDB’nin yapılandırma dosyasındaki bind-address parametresini 0.0.0.0 veya sunucunuzun özel IP adresine ayarlayın.
2. Güvenlik Duvarı Portu: MariaDB’nin varsayılan portu olan 3306’yı güvenlik duvarında açtığınızdan emin olun (makalenin başındaki “Güvenlik Duvarı Yapılandırması” bölümüne bakın).
3. Kullanıcı Ayrıcalıkları: Uzaktan bağlanacak kullanıcı için ayrıcalıkları doğru şekilde ayarlamanız gerekir. Daha önce oluşturduğumuz myuser kullanıcısının yalnızca localhost‘tan bağlanmasına izin vermiştik. Uzaktan bağlanmasına izin vermek için yeni bir kullanıcı oluşturabilir veya mevcut kullanıcının ayrıcalıklarını güncelleyebilirsiniz.

Uzak bir IP adresinden bağlanacak bir kullanıcı oluşturmak (örneğin, herhangi bir IP adresinden bağlanabilen myremoteuser):

CREATE USER 'myremoteuser'@'%' IDENTIFIED BY 'AnotherStrongPassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myremoteuser'@'%';
FLUSH PRIVILEGES;

Burada '%' joker karakteri, kullanıcının herhangi bir ana bilgisayardan (uzak IP adresi) bağlanabileceği anlamına gelir. Güvenlik için, mümkünse '%' yerine belirli bir IP adresi veya alt ağ belirtmek daha iyidir (örneğin, 'myremoteuser'@'192.168.1.100').

Bu adımları tamamladıktan sonra, uzak bir istemci makinesinden MariaDB sunucunuza bağlanabilmelisiniz.

Yaygın Sorun Giderme

MariaDB kurulumu veya kullanımı sırasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri:

* MariaDB Hizmeti Başlatılamıyor:
* Hata mesajlarını kontrol edin: sudo journalctl -xeu mariadb komutu ile MariaDB hizmetinin loglarını inceleyin.
* Yapılandırma dosyasında (örneğin /etc/my.cnf.d/mariadb-server.cnf) bir hata olup olmadığını kontrol edin. Yanlış bir parametre veya sözdizimi hatası hizmetin başlamasını engelleyebilir.
* Disk alanının dolu olup olmadığını kontrol edin (df -h).
* SELinux’un engelleme yapıp yapmadığını kontrol edin (sudo ausearch -c 'mysqld' --raw | audit2allow -M my-mariadb).
* Uzak Bağlantı Sorunları:
* Güvenlik duvarının 3306 portunu açık olduğundan emin olun (sudo firewall-cmd --list-all).
* MariaDB yapılandırma dosyasındaki bind-address değerinin 0.0.0.0 veya doğru IP adresine ayarlandığından emin olun.
* Kullanıcının uzak bağlantı ayrıcalıklarına sahip olduğundan emin olun (örneğin, 'myuser'@'%').
* “Access denied for user ‘root’@’localhost'” Hatası:
* Root parolasını doğru girdiğinizden emin olun.
* mysql_secure_installation betiğini çalıştırdıktan sonra root parolasını belirlemiş olmalısınız.
* Eğer parolanızı unuttuysanız, MariaDB root parolasını sıfırlamak için özel bir prosedür izlemeniz gerekir (genellikle MariaDB’yi güvenli modda başlatıp parolayı değiştirmek).

Sonuç

Bu kapsamlı makalede, Rocky Linux 8 sunucunuza MariaDB veritabanı yönetim sistemini nasıl kuracağınızı adım adım öğrendiniz. Hem Rocky Linux’un AppStream depolarından hem de MariaDB’nin resmi depolarından kurulum yöntemlerini ele aldık. Kurulumun ardından, veritabanı sunucunuzu mysql_secure_installation betiği ile nasıl güvenli hale getireceğinizi, yeni veritabanları ve kullanıcılar oluşturarak temel veritabanı işlemlerini nasıl gerçekleştireceğinizi ve uzak bağlantılar için gerekli yapılandırmaları nasıl yapacağınızı detaylı bir şekilde inceledik.

MariaDB, güçlü performansı, güvenilirliği ve açık kaynak topluluğunun desteğiyle modern uygulamalarınız için mükemmel bir seçimdir. Rocky Linux 8’in kararlılığı ile birleştiğinde, sağlam ve ölçeklenebilir bir veritabanı altyapısı oluşturmuş olursunuz.

Kurulumdan sonra, MariaDB’nin performansını izlemek, düzenli yedeklemeler yapmak ve veritabanı optimizasyonları hakkında daha fazla bilgi edinmek, veritabanı yönetiminizin önemli bir parçası olacaktır. Herhangi bir sorunla karşılaştığınızda, MariaDB’nin kapsamlı belgelerine ve aktif topluluk forumlarına başvurmaktan çekinmeyin.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

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

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.