CentOS işletim sistemine MariaDB nasıl kurulur?

MariaDB; MySQL uyumluluğu, yüksek performans ve aktif topluluk desteğiyle yaygın kullanılan bir veritabanıdır. Bu rehber, CentOS 7 ve CentOS Stream 8/9 üzerinde MariaDB kurulumunu, ilk güvenlik yapılandırmasını, servis yönetimini ve uzaktan erişim ayarlarını adım adım açıklar.

Ön Koşullar

  • Root ya da sudo yetkisi
  • Sunucu saat/dns ayarlarının doğru olması (TLS ve depo erişimi için)
  • Güvenlik duvarında gerekirse TCP 3306 portu (uzaktan erişim için)

1) Sistemi güncelleyin

# CentOS 7
sudo yum -y update

# CentOS Stream 8/9
sudo dnf -y upgrade

2) MariaDB'yi kurun

Dağıtımdaki varsayılan depolardan kurulum en sorunsuz yöntemdir. (Daha güncel bir sürüme ihtiyacınız varsa aşağıdaki “Resmî depo” bölümüne bakın.)

# CentOS 7
sudo yum -y install mariadb-server

# CentOS Stream 8/9
sudo dnf -y install mariadb-server

3) Servisi başlatma ve otomatik başlama

sudo systemctl enable --now mariadb
systemctl status mariadb
journalctl -u mariadb -n 100 --no-pager

4) İlk güvenlik ayarları

Kurulum sonrası temel güvenliği uygulayın. mysql_secure_installation, root parolası, anonim hesaplar ve test veritabanı gibi adımları yönetir.

sudo mysql_secure_installation
# Önerilen akış:
# - Root için parola belirleyin
# - Anonymous kullanıcıları kaldırın (YES)
# - Remote root girişini kapatın (YES)
# - Test veritabanını kaldırın (YES)
# - Yetkileri yeniden yükleyin (YES)

5) Yerel bağlanma ve temel komutlar

# Yerel istemci
mysql -u root -p

# Sunucuda sürüm ve durum
mysqladmin -u root -p version
mysqladmin -u root -p status

6) Veritabanı ve kullanıcı oluşturma

mysql -u root -p -e "
CREATE DATABASE appdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'GüçlüBirParola!';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;"

7) Uzaktan erişim (isteğe bağlı)

Veritabanına ağ üzerinden bağlanmanız gerekiyorsa bind-address ayarını açın, kullanıcıyı “%” ile yetkilendirin ve güvenlik duvarında 3306’yı izinli hale getirin.

# Sunucu yapılandırması (CentOS Stream 8/9 için yol genellikle):
# /etc/my.cnf.d/server.cnf  (CentOS 7'de /etc/my.cnf içinde de olabilir)
# [mysqld] bölümüne ekleyin/uyarlayın:
bind-address=0.0.0.0
# (Özel port kullanacaksanız: port=3306)

sudo systemctl restart mariadb

# Uzak kullanıcıyı yetkilendirme (dikkat: sadece gerektiğinde)
mysql -u root -p -e "
CREATE USER 'appuser'@'%' IDENTIFIED BY 'GüçlüBirParola!';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'%';
FLUSH PRIVILEGES;"

# firewalld kuralları
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

# SELinux'ta varsayılan 3306 dışına çıkacaksanız:
# sudo semanage port -a -t mysqld_port_t -p tcp 3307   # Örnek
# sudo systemctl restart mariadb

8) Performans için hızlı başlangıç ayarları

Trafiğe göre değişmekle birlikte aşağıdaki ayarlar sıklıkla başlangıç noktası olarak kullanılır. Değerleri RAM ve iş yükünüze göre belirleyin.

# /etc/my.cnf.d/server.cnf → [mysqld]
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
max_connections=300
thread_cache_size=64
table_open_cache=4096
# Değişiklik sonrası:
sudo systemctl restart mariadb

9) Yedekleme ve geri yükleme

# Veritabanı yedeği (sıkıştırılmış)
mysqldump -u root -p appdb | gzip > /backups/appdb_$(date +%F).sql.gz

# Geri yükleme
gunzip -c /backups/appdb_2025-01-01.sql.gz | mysql -u root -p appdb

10) Loglar ve sorun giderme

  • Hizmet günlükleri: journalctl -u mariadb
  • Hata günlükleri: /var/log/mariadb/mariadb.log veya /var/log/mysql/mysqld.log (dağıtıma göre değişebilir)
  • Yapılandırmayı kontrol: mysqladmin variables veya SHOW VARIABLES;
  • Bağlantı testi: mysql -h SUNUCU_IP -u appuser -p

11) (İsteğe bağlı) Resmî MariaDB deposundan daha güncel sürüm

Daha yeni bir MariaDB sürümü istiyorsanız resmî MariaDB deposunu ekleyebilirsiniz. Aşağıdaki örnek dosyalar sürüm ve platforma göre güncellenmelidir (VER=10.11 gibi). Mimarinize ve sürümünüze uygun yolu seçmeyi unutmayın.

# CentOS 7 → /etc/yum.repos.d/MariaDB.repo
# (VER değerini ihtiyacınıza göre güncelleyin, ör: 10.11)
[mariadb]
name=MariaDB
baseurl=https://mirror.mariadb.org/yum/VER/centos7-amd64
gpgkey=https://mirror.mariadb.org/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
module_hotfixes=1

sudo yum clean all
sudo yum -y makecache
sudo yum -y install MariaDB-server
# CentOS Stream 8/9 → /etc/yum.repos.d/MariaDB.repo
[mariadb]
name=MariaDB
baseurl=https://mirror.mariadb.org/yum/VER/rhel8-amd64   # Stream 9 için rhel9-amd64
gpgkey=https://mirror.mariadb.org/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
module_hotfixes=1

sudo dnf clean all
sudo dnf -y makecache
sudo dnf -y install MariaDB-server

Not: Eğer daha önce dağıtım deposundan MariaDB/MySQL paketleri kuruluysa, sürüm çakışmasını önlemek için kaldırıp (verilerinizi yedekleyerek) resmî depodan yeniden kurun.

12) Güncelleme ve kaldırma

# Güncelleme
sudo yum -y update mariadb\*     # CentOS 7
sudo dnf -y upgrade mariadb\*    # Stream 8/9

# Kaldırma
sudo systemctl disable --now mariadb
sudo yum -y remove mariadb\*     # CentOS 7
sudo dnf -y remove mariadb\*     # Stream 8/9
# Yapılandırmalar ve veriler için dizinler:
# /etc/my.cnf, /etc/my.cnf.d, /var/lib/mysql, /var/log/mariadb

Önerilen Anahtar Kelimeler

centos mariadb kurulum, centos 7 mariadb-server, centos stream 8 mariadb, centos 9 mariadb, mysql_secure_installation, mariadb uzak bağlantı 3306, mariadb repo rhel8 rhel9, innodb performans ayarları

Bu cevap yeterince yardımcı oldu mu? 0 Bu dökümanı faydalı bulan kullanıcılar: (0 Oy)