MySQL Nedir?
MySQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir: veriyi birbirine bağlı tablolarda tutar ve SQL ile yazılan sorguları yanıtlar. İlk kez 1995'te İsveçli MySQL AB şirketi tarafından yayımlandı; adı, kurucu ortaklardan Michael Widenius'un kızının adı olan “My” ile SQL'in birleşiminden gelir. Şirketi 2008'de Sun Microsystems satın aldı; Oracle'ın 2010'da Sun'ı almasından bu yana MySQL'i Oracle geliştiriyor.
Varsayılan depolama motoru InnoDB işlemleri (transaction) destekler: bir değişiklik ya tamamen kaydedilir ya da hiç kaydedilmez. Kilitleri tüm tabloya değil, yalnızca değişen satırlara koyar. Dizinler (index), MySQL'in her satırı okumadan kayıt bulmasını sağlar. utf8mb4 karakter seti Türkçe harflerden Arap alfabesine ve emojilere kadar Unicode'un tamamını kapsar; metinlerin nasıl sıralanıp karşılaştırılacağını belirleyen sıralama kuralları (collation) arasında Türkçeye özgü olanı da vardır.
MySQL Community Edition ücretsizdir ve GPL lisansıyla açık kaynaktır; Oracle ayrıca ek araçlar ve destek içeren ticari sürümler satar. Uzun süreli destek (LTS) sürümleri üç ayda bir bakım güncellemesi alır, daha sık çıkan yenilik (innovation) sürümleri ise yeni özellikler getirir. Hosting firmalarının çoğu ve büyük bulut platformları MySQL sunduğu için çalıştırması ve taşıması kolaydır.
MySQL'i Nerede Kullanıyoruz?
Bir PHP ya da Laravel sitesi veritabanına ihtiyaç duyduğunda ve hosting standart kalmalıysa genellikle MySQL'i seçiyoruz. Özellikle şu işlerde kullanıyoruz:
PHP ve Laravel Veritabanları
PHP ve Laravel ile kurduğumuz sitelerin içerikleri, form kayıtları, ürünleri ve kullanıcı hesapları MySQL'de duruyor; Laravel'in migration'ları veritabanı yapısını kodla uyumlu tutuyor.
Çok Dilli İçerik
Tabloları utf8mb4 ile kuruyoruz; Türkçe, İngilizce ve Arapça metinler bozuk karakter olmadan yan yana duruyor. Her dilin metnini doğru sıralayan ve karşılaştıran sıralama kurallarını da buna göre seçiyoruz.
Hız için Dizinler
Veri büyüdükçe doğru dizinler listeleri, filtreleri ve aramaları hızlı tutar. En sık çalışan sorgulara bakıyor, dayandıkları sütunları dizinliyoruz.
Yedekleme ve Taşıma
Düzenli yedekler planlıyor, onları ana sunucudan uzakta tutuyor ve geri yüklemeyi test ediyoruz. Hosting değiştirdiğinizde veritabanını dikkatle taşıyor, hiçbir şeyin kaybolmadığını ya da bozulmadığını kontrol ediyoruz.
Neden MySQL?
Neredeyse Her Yerde Hazır
Hosting firmalarının çoğu MySQL'i paketlerine dahil eder, büyük bulut platformları da yönetilen hizmet olarak sunar; siteniz tek bir sağlayıcıya bağlı kalmaz.
PHP ve Laravel ile Kanıtlanmış
PHP ve Laravel uzun yıllardır MySQL ile birlikte çalışıyor; sürücüler, belgeler ve sık karşılaşılan sorunların çözümleri olgunlaşmış durumda.
Ücretsiz ve Tanıdık
Community Edition için lisans ücreti yoktur ve geliştiriciler MySQL'i iyi tanır; siteyi ileride kim devralırsa yabancılık çekmez.
Projenizde Nasıl İlerliyoruz?
Tabloları içeriğinize ve formlarınıza göre tasarlayarak başlıyor, utf8mb4'ü ve doğru sıralama kuralını en baştan ayarlıyoruz. Yapıyı migration'lar olarak yazıyoruz; böylece her değişiklik kayıt altında olur ve her sunucuda tekrarlanabilir. Ardından üç dilde örnek içerikle test ediyoruz.
Yayından önce dizinlerin en yoğun sayfaları karşıladığını, sitenin veritabanı kullanıcısının yalnızca ihtiyaç duyduğu yetkilere sahip olduğunu ve yedeklerin alınıp geri yüklenebildiğini kontrol ediyoruz. Eski bir veritabanını devraldığımızda önce karakter setine bakıyoruz; böylece taşıma sırasında Türkçe ve Arapça metinler zarar görmüyor.





