MySQL

MySQL, dünyada en yaygın kullanılan ücretsiz veritabanıdır ve bir sitenin müşterilerini, siparişlerini ve fiyatlarını düzenli tablolarda tuttuğu yerdir.

Şu adla da bilinir MySQL veritabanı MySQL sunucusu açık kaynak veritabanı

Tanım

MySQL, bir sitenin bildiklerini sakladığı yerdir ve bunları klasördeki dosyalarda değil, tablolarda saklar. Müşteriler için bir tablo, siparişler için bir tablo, ürünler için bir tablo vardır ve her birinin sütunları sabittir. Bu yüzden fiyat sütununa telefon numarası yazılmasına izin vermeyen, çok titiz bir hesap tablosu gibi davranır. Kullanımı ücretsizdir ve Hostrena dahil neredeyse her barındırma şirketi onu sunar; webin bu kadar büyük bir bölümünün onun üzerinde durmasının önemli bir sebebi de budur.

Parasını asıl hak eden kısım, bu tablolar arasındaki kurallardır, çünkü bir sipariş gerçekten var olan bir müşteriye ait olmak zorundadır. Ödenmemiş faturası olan bir müşteriyi silmeye kalkarsanız veritabanı bunu düpedüz reddedebilir; oysa hesap tablosu tam o noktada izin verir ve hiçbir şey söylemez. Siz de aylar sonra, bir rapor tutmadığında ve kimse nedenini açıklayamadığında öğrenirsiniz.

MySQL, sitelerin en çok yaptığı işte, yani okumada hızlıdır. Bir ürün sayfası aynı kısa soruyu saatte birkaç bin kez sorar, cevap da hızlı ve şikâyetsiz gelir. Eleman bulmak da kolaydır, çünkü MySQL yirmi beş yıldır varsayılan tercih olduğu için sisteminizi üç yıl sonra devralacak kişi onu zaten biliyordur.

Şimdi tuzağa gelelim, çünkü bu tuzak iyi geliştiricileri de yakalar. MySQL'de utf8 adında eski bir ayar vardır ve adına rağmen insanların gerçekten yazdığı her karakteri saklamaz. Bir müşteri adına ya da teslimat notuna emoji koyduğunuzda metin ya bozuk gelir ya da hiç kaydedilmez; bu yüzden istediğiniz ayarın adı utf8mb4'tür. Bu ayar tablolar oluşturulduğu gün seçilir, dolayısıyla bir milyon satırlı çalışan bir mağazada sonradan değiştirmek uzun bir gece ve tutulmuş bir nefes demektir. Bu yüzden Linkysoft bu ayarı, projenin ilk tablosu var olmadan önce yapar.

Açıkça söylenmesi gereken iki şey daha var. Veritabanına sahip olmak yedeğe sahip olmak değildir, o yüzden tedarikçinize en son ne zaman geri yükleme yaptığını ve bunun ne kadar sürdüğünü sorun. Hiç geri yüklenmemiş bir yedek yalnızca bir tahmindir ve bu da onu teknik bir konu olmadan önce bir güvenlik konusu yapar. MySQL tek seçenek de değildir, çünkü PostgreSQL daha katıdır ve ağır raporlarda daha iyidir, ama çoğu dükkân, klinik ve randevu sitesi için ikisi de iş görür. Linkysoft birçok web uygulaması işinde MySQL'i seçer, çünkü barındırması ucuz ve yardım bulmak kolaydır.

MySQL hakkında sorular

MySQL ücretsiz mi?
Sıradan sürümü ücretsizdir ve neredeyse her barındırma paketi onu fiyata dahil eder. Oracle ayrıca ek araç ve destek içeren ücretli bir sürüm satar; küçük işletmelerin çoğu buna hiç ihtiyaç duymaz.
MySQL ile SQL arasındaki fark nedir?
SQL, soruları sorduğunuz dildir. MySQL ise bu dili anlayan ve veriyi saklayan programlardan biridir. Başka veritabanları da aynı dili konuşur.
MySQL kaç müşteriyi kaldırır?
Çoğu işletmenin ulaşacağından çok daha fazlasını. Ayda milyonlarca ziyaretçi alan siteler onun üzerinde çalışır. Sorun genelde veritabanından değil, sorguların nasıl yazıldığından çıkar.
Veritabanını site dosyalarından ayrı yedeklemem gerekir mi?
Evet. Dosyalar ve veritabanı iki ayrı şeydir; birinin kopyası diğeri olmadan sitenizi geri getirmez. Yedeğin ikisini de kapsadığını ve birinin geri yüklemeyi denediğini kontrol edin.
İleride MySQL'den başka bir veritabanına geçebilir miyim?
Geçebilirsiniz ama bu bir düğme değil, bir projedir. Sorguların ve bazı veri tiplerinin yeniden yazılmasını, her şeyin baştan test edilmesini bekleyin. İş başlamadan hangi veritabanını alacağınızı sormak çok daha ucuzdur.

Bunun projenize nasıl uyduğundan hâlâ emin değil misiniz?

Ne inşa ettiğinizi bize anlatın, size sade bir dille yanıt verelim.