Buyukweb
Hosting'de MySQL ve MariaDB: Veritabanı Seçimi

Hosting'de MySQL ve MariaDB: Veritabanı Seçimi

MySQL mi MariaDB mi? Web hosting ortamında veritabanı seçimi yaparken nelere dikkat etmelisiniz? Performans, uyumluluk ve özellikler açısından detaylı karşılaştırma.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü11 dakika okuma

Hosting'de MySQL vs MariaDB: 2026 Pratik Karar Rehberi

Web uygulamalarının büyük çoğunluğu — WordPress'ten Magento'ya, özel PHP projelerine kadar — bir ilişkisel veritabanı motoruna ihtiyaç duyar. Hosting ortamında karşınıza çıkan iki isim hep aynıdır: MySQL ve MariaDB. Aslında ikisi aynı kökten gelir, ama 2010 sonrası ayrı yollara saptılar. Bu rehberde Buyukweb hosting altyapısı perspektifinden hangisinin hangi senaryoda daha mantıklı olduğunu, gerçek versiyonlarla, gerçek limitlerle anlatıyoruz.

Buyukweb perspektifi: cPanel paylaşımlı hosting paketlerimizde MariaDB 10.6 LTS standart kuruludur. VDS müşterileri kendi tercihiyle MySQL 8.0 veya MariaDB 10.11 LTS kurabilir; ikisinin de root yetkisinde tam kontrol var. Tercih etmeyin: "WordPress için MySQL daha iyi, MariaDB için MariaDB" gibi şehir efsanelerini. WordPress.org resmi gereksinimi "MySQL 5.7+ veya MariaDB 10.4+" — ikisi de eşit destekli. Karar daha çok lisans, versiyon yol haritası ve özel feature üzerinden verilir.

MySQL ve MariaDB Aynı Kökten Geldi, Aynı Şey mi?

Kısa cevap: hayır, artık değiller. 1995'te Monty Widenius tarafından yazılan MySQL, 2008'de Sun Microsystems'a, 2010'da Oracle'a satıldı. Monty, Oracle'ın açık-kaynak vizyonunu sürdüreceğine güvenmedi ve aynı yıl MySQL'in fork'unu MariaDB adıyla başlattı (kızının adı). Başlangıçta MariaDB MySQL'le yüzde yüz drop-in uyumluydu; ama 2017 sonrası ikisi farklı feature setleri eklemeye başladı.

Bugün durumu özetleyen tabloya bakalım:

Boyut MySQL 8.0 (Oracle) MariaDB 10.11 / 11.x
Sahiplik Oracle Corporation MariaDB Foundation (kâr amacı gütmeyen)
Lisans GPLv2 + Oracle Enterprise (ücretli) GPLv2 (tam açık-kaynak)
Default storage engine InnoDB InnoDB (Aria, MyRocks, Spider opsiyonel)
JSON tipi JSON (binary) JSON (longtext + JSON_VALID)
Window functions ✅ 8.0+ ✅ 10.2+
CTE (WITH) ✅ 8.0+ ✅ 10.2+
Roles ✅ 8.0+ ✅ 10.0.5+
Sequence object ✅ 10.3+
Invisible columns ✅ 10.3+
Temporal tables Sınırlı ✅ 10.3+ (system-versioned)
Replikasyon Group Replication, InnoDB Cluster Galera Cluster, multi-source
Maks bağlantı (default) 151 151
Charset default utf8mb4 utf8mb4

Çeviri: WordPress, Joomla, Drupal, Magento, Laravel projelerinin çoğu için ikisi pratik olarak özdeştir. Fark, 5 milyon satır üstü tablolarda, ileri replikasyon ihtiyacında veya kurumsal lisans politikalarında ortaya çıkar.

Lisans: Sessiz Ama Önemli Fark

MySQL'in Oracle Enterprise Edition sürümü ücretli ve kapalı kaynaktır; gelişmiş audit, thread pool, encryption gibi özellikler buradadır. Topluluk sürümü (MySQL Community) ücretsizdir, ama Oracle'ın yön verdiği bir projedir — strateji ne zaman değişir bilemezsiniz. MariaDB ise MariaDB Foundation çatısı altında, kâr amacı gütmeyen bir vakıfa bağlıdır. Tüm özellikler GPLv2 altında, ücretsiz ve kapalı uzantı yoktur.

Pratik etki: Özellikle resmi kurum, üniversite veya büyük şirketlerde "Oracle bağımlılığı" istemeyen kullanıcılar MariaDB tercih ediyor. Buyukweb müşterilerinin %95'i için bu konu önemsiz — paket maliyetinde fark yaratmaz.

Performans: Eski Kıyaslamalar Eskidi

Internet'te 2017-2019 arası "MariaDB %20 daha hızlı" iddialı kıyaslamalar var. Bunlar büyük ölçüde MySQL 5.7'ye karşı yapıldı; MySQL 8.0 (2018) çok ciddi optimizasyonlar getirdi. 2024-2025 reel benchmark'lara bakarsanız:

  • Read-heavy workload: MySQL 8.0 InnoDB redo log iyileştirmeleriyle MariaDB'ye yakın veya bazı senaryolarda 5-10% önde
  • Write-heavy workload: MariaDB 10.11 ve sonrası (MyRocks engine ile) yazma yoğun yüklerde MySQL'i geçebiliyor
  • Mixed (OLTP) workload: Fark istatistiksel gürültüye yakın (±%3-5)

Gerçekçi tavsiye: Trafik 100K aylık hit altındaysa MySQL/MariaDB ayrımı sayfa hızını ölçülebilir biçimde değiştirmez. Asıl darboğaz: kötü yazılmış SQL, eksik index, opcache devre dışı, sunucu RAM yetersiz. Önce bunları çözün; sonra "veritabanı motoru değiştireyim" deyin.

Storage Engine: InnoDB Standart, Ama Özel Durumlar Var

Hem MySQL hem MariaDB default olarak InnoDB kullanır. ACID uyumlu, foreign key destekli, satır-seviyesi kilit, crash recovery — kurumsal işlerin hepsini görür. Ama özel senaryolar için MariaDB ekstra motor sunar:

  • Aria — eski MyISAM yerine, crash-safe MyISAM tarzı, geçici tablolar için iyi
  • MyRocks — Facebook tarafından geliştirildi, write-heavy ve sıkıştırma kritik olduğunda (LSM tree)
  • Spider — sharding, federated table'lar
  • ColumnStore — analytics (OLAP), milyar satırlık raporlar

MySQL tarafında InnoDB tek mantıklı seçenek; MyISAM hâlâ var ama yeni proje için tavsiye edilmez. Buyukweb cPanel paketlerinde InnoDB default ve genelde ihtiyaç budur.

WordPress, WooCommerce, Magento Senaryosu

En sık sorulan soru bu olduğu için ayrı bölüm açıyoruz.

WordPress

WordPress.org resmi gereksinim: MySQL 5.7.0+ veya MariaDB 10.4+. WordPress core ve neredeyse tüm popüler eklenti (Yoast, Elementor, WPForms, Rank Math, WP Rocket) ikisinde de aynı çalışır. Buyukweb cPanel paketlerinde MariaDB 10.6 olduğu için WordPress kurulumlarında sıfır uyumluluk sorunu var. Tek dikkat: utf8mb4 charset (4-byte unicode, emoji desteği) — her iki motor da default olarak destekler.

WooCommerce

WooCommerce, WordPress üstüne kurulu olduğu için aynı kurallar geçerli. Ek not: ürün/sipariş tabloları büyüdükçe (10K+ ürün, 100K+ sipariş) uzun-süreli sorgu sorunu çıkabilir. Çözüm:

-- Yavaş sorgu loglarına bakarak index ekleyin
ALTER TABLE wp_postmeta ADD INDEX idx_meta_key_value (meta_key, meta_value(20));

-- Ürün arama hızlandırma
ALTER TABLE wp_posts ADD INDEX idx_post_type_status (post_type, post_status, post_date);

WooCommerce 8.0+ ile HPOS (High-Performance Order Storage) geldi — siparişler artık wp_postmeta'dan ayrı tablolarda; bu MySQL/MariaDB ayrımından önce gelen optimizasyondur, ikisi de destekler.

Magento

Magento Open Source 2.4.7 resmi gereksinim: MySQL 8.0 veya MariaDB 10.6 LTS. MariaDB 11.x henüz tam test edilmedi (2025 sonu). Magento için Buyukweb tavsiyesi: VDS (paylaşımlı hosting Magento için yetersiz, RAM ve InnoDB buffer pool ihtiyaçları yüksek). VDS'de root yetkili olduğunuz için MySQL 8.0 veya MariaDB 10.11 ikisini de seçebilirsiniz.

Laravel / Symfony / Custom PHP

Modern framework'ler çoğunlukla PDO üzerinden iletişim kurar; SQL diyalekti açısından MySQL/MariaDB farkı çok az. Eloquent (Laravel ORM) veya Doctrine (Symfony ORM) ikisinde de sorunsuz çalışır.

phpMyAdmin ve Adminer ile Yönetim

cPanel paketlerinde phpMyAdmin standart kuruludur. Web tarayıcısı üzerinden:

  • Veritabanı oluşturma/silme
  • Tablo yapısı düzenleme
  • SQL sorgu çalıştırma (Editor sekmesi)
  • CSV/SQL Import-Export
  • Kullanıcı + GRANT/REVOKE yetki yönetimi
  • Trigger, view, stored procedure
  • Slow query log inceleme

VDS müşterileri Adminer (tek-dosya phpMyAdmin alternatifi, ~600KB) tercih edebilir; daha hafif arayüz. PMA gerektiği gibi geliştirildi ama Adminer modern dokunuşlu.

Güvenlik notu: phpMyAdmin'i public URL'de bırakmayın. cPanel zaten oturum-tabanlı erişim verir; bağımsız kurduysanız (/phpmyadmin/) IP whitelist veya HTTP Basic Auth ekleyin. SQL injection saldırılarının çoğu açık PMA panellerinden gelir.

Yedekleme: mysqldump, JetBackup, R1Soft

Veritabanı yedeği almazsanız, çökme anında bir gece-uykunuza mal olur. Buyukweb yaklaşımı:

Otomatik Yedekleme (cPanel paylaşımlı)

JetBackup günlük 7 gün, haftalık 4 hafta. cPanel > JetBackup > Restore Databases sekmesinden tek-tıkla geri al. Veri kaybı senaryosunda çalışan tek pratik çözüm.

Manuel Yedekleme (cPanel)

cPanel > Files > Backup > "Download a MySQL Database Backup"
→ tek veritabanı .gz uzantılı sıkıştırılmış SQL döker

Komut Satırı (VDS / Reseller WHM)

# Tek veritabanı, sıkıştırılmış
mysqldump -u root -p veritabani_adi | gzip > yedek.sql.gz

# Tüm veritabanları (root yetkisi şart)
mysqldump -u root -p --all-databases | gzip > tum-yedek.sql.gz

# Cron'a otomatik günlük yedek (örnek 03:00)
0 3 * * * mysqldump -u backupuser -pSIFRE veritabani | gzip > /backup/db-$(date +\%F).sql.gz

# Restore (gz açarak)
gunzip < yedek.sql.gz | mysql -u root -p veritabani_adi

R1Soft / Acronis (VDS opsiyonel)

Buyukweb VDS müşterileri snapshot tabanlı block-level backup ekleyebilir. Veritabanı + dosya sistemini bir bütün olarak alır; kurtarma 5-15 dakika.

Performans Optimizasyonu: Index, Slow Query, Cache

Veritabanı yavaşlığının %90'ı eksik index'tir. Pratik tanı adımları:

1. Slow Query Log Açma (VDS)

-- mysqld config (my.cnf) yerine canlı uygulama
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 1.0;            -- 1 saniyeden uzun sorgular
SET GLOBAL slow_query_log_file = '/var/log/mysql/slow.log';

Sonra log analizi:

mysqldumpslow -s t -t 10 /var/log/mysql/slow.log    # En uzun 10 sorgu

2. EXPLAIN ile Sorgu Plan Analizi

EXPLAIN SELECT * FROM wp_posts
  WHERE post_type = 'product' AND post_status = 'publish'
  ORDER BY post_date DESC LIMIT 10;
-- "type: ALL" ve "rows: 50000" görüyorsanız index eksik

3. Index Ekleme

ALTER TABLE wp_posts ADD INDEX idx_type_status_date (post_type, post_status, post_date);

Yeniden EXPLAIN: "type: range" veya "type: ref" görmelisiniz.

4. Buffer Pool Ayarı (VDS)

InnoDB buffer pool — RAM'in en büyük tüketicisi. 8 GB RAM'li VDS için:

# /etc/mysql/mariadb.conf.d/50-server.cnf veya /etc/my.cnf
[mysqld]
innodb_buffer_pool_size = 4G
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 2
query_cache_type = 0          # MySQL 5.7+ ve MariaDB 10.1+ için kapalı tutun
max_connections = 300

cPanel paylaşımlı hosting'de bu parametreler hosting sağlayıcı tarafından paket profile göre ayarlanmıştır; siz dokunamazsınız.

WordPress için Pratik Veritabanı Bakımı

-- Eski revisionları sil (200 versiyonun her birini saklamaya gerek yok)
DELETE FROM wp_posts WHERE post_type = 'revision';

-- Auto-draft taslakları
DELETE FROM wp_posts WHERE post_status = 'auto-draft';

-- Süresi dolmuş geçici (transient) kayıtları
DELETE FROM wp_options
  WHERE autoload = 'yes' AND option_name LIKE '_transient_%';

-- Yorum spam çöp kutusu
DELETE FROM wp_comments WHERE comment_approved = 'spam';

-- Tablo optimizasyonu (haftalık çalıştırın)
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments;

WP-Optimize, Advanced Database Cleaner gibi eklentiler bu işlemleri arayüzden yapar; ama doğrudan SQL daha hızlı ve eklenti şişmesine yol açmaz.

MySQL'den MariaDB'ye Geçiş (veya Tersi)

MariaDB 10.x → MySQL 8.0 geçişi dump+restore yöntemiyle olur:

# Kaynak (MariaDB)
mysqldump -u root -p --single-transaction --routines --triggers \
  veritabani_adi > yedek.sql

# Hedef (MySQL 8.0)
mysql -u root -p yeni_veritabani < yedek.sql

Dikkat: Storage engine olarak Aria, MyRocks, Spider kullandıysanız MySQL'de bu motorlar yok. Önce dump öncesi tabloları InnoDB'ye dönüştürün:

ALTER TABLE tablo_adi ENGINE=InnoDB;

Tersi yön (MySQL → MariaDB) genelde daha sorunsuzdur; ama yine major version atlamayın (5.6 → 10.11 yerine 5.7 → 10.4 → 10.11 gibi kademeli).

Buyukweb Tavsiyesi: Hangi Senaryoda Hangisi?

Senaryo Tavsiye
WordPress, Joomla, Drupal — paylaşımlı hosting MariaDB 10.6 (Buyukweb cPanel default)
WooCommerce 10K+ ürün, 100K+ sipariş VDS + MySQL 8.0 veya MariaDB 10.11
Magento Open Source 2.4.7 VDS + MariaDB 10.6 LTS (resmi destekli)
Laravel/Symfony custom proje İkisi de — ekibinizin alıştığı
Yüksek-yazma analytics (loglama, metric) MariaDB + MyRocks engine
Resmi kurum / üniversite (Oracle bağımlılığı istemeyen) MariaDB
Mevcut MySQL 8.0 ekosisteminde uzun süredir çalışan ekip MySQL 8.0 (değiştirmek için sebep yok)

Sık Sorulan Sorular

Buyukweb cPanel hosting'de hangi versiyon var?

MariaDB 10.6 LTS. Bu versiyon WordPress, WooCommerce, Magento, Laravel için resmi destekli. utf8mb4 charset, JSON tipi, window functions, CTE — hepsi destekli.

Buyukweb VDS'de MySQL 8.0 kurabilir miyim?

Evet. VDS'de root yetkisi olduğunuz için apt install mysql-server veya yum install mysql-community-server ile MySQL 8.0; apt install mariadb-server ile MariaDB 10.11 LTS kurabilirsiniz. Aynı sunucuda hem MySQL hem MariaDB tek anda çalıştırılabilir (farklı port).

MariaDB 10.6 yerine 10.11 ister miyim?

MariaDB 10.6 LTS Temmuz 2026'ya kadar destekleniyor; 10.11 LTS ise Şubat 2028'e kadar. Yeni VDS kurarken 10.11 mantıklı; mevcut paylaşımlı paketlerde 10.6 sorun yok. Buyukweb sunucu paneli yenilemelerinde 10.11'e geçiş yol haritasında.

MySQL Community kullanmak güvenli mi yoksa Enterprise gerekli mi?

Web hosting senaryolarının %99'unda Community yeterli. Enterprise sürümün öne çıkardığı thread pool, audit logging, transparent data encryption gibi özellikler büyük finansal kurumlar için. Buyukweb müşterilerimizin hiçbiri Enterprise lisansı gerektiren bir iş yükü açıklamadı.

WordPress sitemde "Error establishing a database connection" alıyorum

Genelde 4 sebep:

  1. wp-config.php'de DB_USER, DB_PASSWORD, DB_HOST yanlış
  2. MySQL/MariaDB servisi durmuş (cPanel: zaten yönetilen; VDS: systemctl status mariadb)
  3. max_connections doluymuş (paket yüksek trafik almıştır)
  4. Tablo bozulmuş (REPAIR TABLE wp_options;)

Buyukweb destek 0850 302 60 70 numarasından 7/24 müdahale edilir.

Veritabanı boyutu çok büyüdü, ne yapayım?

Önce gerçek tabloyu görün:

SELECT table_name, ROUND((data_length + index_length) / 1024 / 1024, 2) AS size_mb
FROM information_schema.tables
WHERE table_schema = 'veritabani_adi'
ORDER BY size_mb DESC;

Çoğu WordPress'te wp_options (autoload), wp_postmeta (eski revision), wp_actionscheduler_logs (Action Scheduler) şişer. Yukarıdaki temizlik sorgularını çalıştırın.

MySQL/MariaDB performansını test etmek için araç var mı?

  • sysbench — OLTP benchmark (read-write karışık)
  • mysqltuner.pl — Mevcut yapılandırmayı analiz eder, my.cnf önerileri verir
  • percona-toolkit — Slow query analizi, replikasyon doğrulama (pt-query-digest, pt-table-checksum)

VDS'de şu komutla mysqltuner çalıştırabilirsiniz:

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl --user root --pass SIFRE

Replikasyon (master-slave) ihtiyacım var mı?

Aylık 1M+ sayfa hit, finansal işlem yoğunluğu, gerçek-zamanlı raporlama gibi durumlar için evet. Genel hosting müşterisi için Replikasyon yerine düzenli yedek + opcache + Redis cache daha pratik bir performans yolu. Replikasyon kurulum ve bakım maliyeti yüksek.

Cache layer (Redis, Memcached) MySQL/MariaDB seçimini etkiler mi?

Hayır. Redis/Memcached uygulama ile veritabanı arasında bağımsız cache katmanı; ikisi de aynı şekilde kullanılır. Buyukweb cPanel paketlerinde Redis ek modül olarak aktif edilebilir; VDS'de zaten root erişimle istediğiniz cache'i kurabilirsiniz.

Sonuç

MySQL ile MariaDB arasındaki seçim 2026'da çok büyük teknik fark üretmiyor; kararı lisans politikası, mevcut ekip alışkanlığı ve özel feature ihtiyacı belirliyor. Buyukweb tarafından dürüst tavsiyemiz şu: cPanel paylaşımlı hosting kullanıyorsanız MariaDB 10.6 zaten kuruludur ve değiştiremezsiniz, dert etmeyin — pratik olarak yeterli. VDS müşterisiyseniz alıştığınız motoru seçin, Buyukweb 7/24 desteği ikisinde de aynı kalitede.

Soru ve teknik destek için: 0850 302 60 70.


İlgili Büyükweb Hizmetleri

Veritabanı yoğun siteler için altyapı seçenekleri:

Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.

Web Hosting Rehberi İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#MySQL#MariaDB#veritabanı hosting#phpMyAdmin#WordPress veritabanı#SQL optimizasyon#web hosting

Bu yazıyı paylaş