Rehber

MySQL Veritabanı Yönetimi

15.07.2025 Güncelleme: 22.09.2026 3 dk okuma Bananas Hosting
MySQL Veritabanı Yönetimi Rehber
MySQL ve MariaDB, çoğu web uygulamasının kalbidir: WordPress'in içeriği, WooCommerce'in siparişleri, üyelik sistemlerinin kayıtları bu tablolarda yaşar. Kötü index, şişmiş tablolar, test edilmemiş yedek ve zayıf parolalar bir gün yavaş site ya da veri kaybı olarak geri döner. Bu yazıda günlük MySQL hijyenini, performans temellerini, yedek ve güvenlik rutinlerini Bananas Hosting kullanıcıları için sade bir dille anlatıyoruz.

Index ve Yavaş Sorgu Analizi

WHERE ve JOIN kullanan alanlarda uygun index yoksa her sorgu tabloyu baştan sona tarar; tablo büyüdükçe sorgu süresi katlanarak artar. Slow query log'unu açın, şüpheli sorguları EXPLAIN ile inceleyin ve eksik index'leri tamamlayın. Öte yandan her alana index atmak yazma işlemlerini yavaşlatır; dengeyi ölçümle kurun.

WordPress'te iki klasik sorun saklanır: wp_options tablosunda autoload değeri açık olan şişkin kayıtlar ve birikmiş postmeta verisi. Bu ikisi periyodik temizlikle ciddi biçimde rahatlar; büyük temizlik işleminden önce mutlaka yedek alın, temizlik sonrası sorgu sürelerini karşılaştırıp farkı raporlayın.

Bakım Rutini ve Büyüme Yönetimi

Tablolar büyüdükçe optimizasyon ve istatistik güncellemesi ihtiyacı doğar; bu işlemleri ziyaretçinin en az olduğu gece bakım penceresinde yapın. Veri hacmi büyüdükçe arşivleme ve partitioning gibi yöntemler gündeme gelir: eski sipariş ve log kayıtlarını ayrı bir arşiv tablosuna taşımak üretim tablolarını hafifletir ve sorguları hızlandırır.

Medya dosyalarını veritabanında blob olarak tutmayın; dosya sistemine taşıyın ve tabloda yalnızca dosya yolunu saklayın. Test ortamında üretim boyutuna yakın veriyle çalışın; üç kayıtlık test verisi üretimdeki davranışı asla yansıtmaz, darboğazlar ancak gerçek boyutta ortaya çıkar.

Yedek, Kurtarma ve Replikasyon

Yalnızca dosya yedeği veritabanını kurtarmaz; DB için ayrı ve düzenli yedek alın. Dump tabanlı yedekler ve binlog ile belirli bir ana dönebilme (point-in-time recovery) mümkündür; tolere edebileceğiniz veri kaybını, yani RPO'nuzu bilin. Geri yükleme süresini gerçekten ölçün; kâğıt üzerinde beş dakika süren işlem denemeden bilinmez.

Yüksek okuma trafiği olan uygulamalarda read replica mimarisi düşünülebilir; ancak yazmanın tek kaynakta kaldığından emin olun. Yedeklerinizi şifreleyin ve offsite saklayın; aynı diskte duran yedek, disk arızasında beraber gider.

Güvenlik ve Yetki Yönetimi

Veritabanı güvenliği birkaç disiplinli alışkanlıkla kurulur: güçlü ve benzersiz DB parolaları, uzaktan root erişiminin kapalı tutulması, uygulama kullanıcısına yalnızca gereken yetkilerin verilmesi (least privilege) ve düzenli yama. phpMyAdmin gibi yönetim araçlarının erişimini kısıtlamaya özen gösterin.

Uygulama tarafında SQL injection'a karşı prepared statement kullanımı pazarlık konusu değildir; ORM kullanıyorsanız bile ham sorgularda bunu denetleyin. Bananas Hosting güncel donanımı ve kaynaklı planlarıyla DB performansına zemin hazırlar; düzenli hijyen rutini ise sizin elinizdedir.

Pratik öneriler

  1. Slow query log'unu ayda bir gözden geçirin; en yavaş üç sorguyu listeleyip düzeltin.
  2. Veritabanı yedeğini dosya yedeğinden ayrı olarak ve düzenli aralıklarla test edin.
  3. Uygulamanın DB kullanıcısına root değil, sadece gereken tablolar için yetki verin.
  4. Büyük ALTER ve index işlemlerini trafiğin düşük olduğu bakım penceresine planlayın.
Sonuç: MySQL yönetimi görünmez bir iştir: her şey yolundayken kimse fark etmez, bir şey bozulduğunda herkes fark eder. Index, yedek, yetki ve izleme başlıklarında kuracağınız basit rutinler uygulamanızı hem hızlı hem kurtarılabilir tutar. Bananas Hosting altyapısıyla birleşen sağlıklı veritabanı pratikleri sitenizin kalbini uzun yıllar rahat çalıştırır.