Tanım
MySQL, verileri tablolar hâlinde saklayan ve SQL (Structured Query Language) ile sorgulanan, Oracle tarafından geliştirilen açık kaynaklı ilişkisel veritabanı yönetim sistemidir. WordPress, Joomla, Magento ve Laravel gibi PHP uygulamalarının çoğunun varsayılan veritabanıdır; varsayılan olarak 3306 numaralı TCP portunu kullanır.
MySQL nasıl çalışır?
MySQL, istemci-sunucu modeliyle çalışır: uygulama bir kullanıcı adı ve parolayla veritabanı sunucusuna bağlanır, SQL sorguları gönderir ve sonuçları alır. Veriler depolama motorlarında tutulur; varsayılan motor InnoDB, işlem (transaction) desteği, satır düzeyinde kilitleme ve çökme sonrası kurtarma sağlar. Temel komutlara bir örnek:
CREATE DATABASE ornek_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ornek_kullanici'@'localhost' IDENTIFIED BY 'GucluParola!';
GRANT ALL PRIVILEGES ON ornek_db.* TO 'ornek_kullanici'@'localhost';Türkçe karakterler ve emoji için utf8mb4 karakter seti kullanılmalıdır. Hosting panellerinde aynı işlemler grafik arayüzden yapılır; adımlar cPanel MySQL veritabanı oluşturma rehberinde anlatılır.
MySQL veritabanını güvenli ve hızlı tutmak için ne yapılmalı?
- Erişim: 3306 portunu internete açmayın; uzaktan bağlantı gerekiyorsa yalnızca belirli IP’lere izin verin ya da SSH tüneli kullanın.
- Yetki: Her uygulama için yalnızca kendi veritabanına yetkili ayrı bir kullanıcı oluşturun.
- Yedek:
mysqldumpya da panel yedekleriyle düzenli yedek alın ve geri yüklemeyi test edin. - Performans: Sık sorgulanan sütunlara indeks ekleyin, yavaş sorgu günlüğünü (slow query log) inceleyin ve InnoDB arabellek boyutunu (
innodb_buffer_pool_size) sunucu belleğine göre ayarlayın.
MySQL ile büyük ölçüde uyumlu bir alternatif olan MariaDB de birçok Linux dağıtımında ve hosting altyapısında varsayılan olarak kullanılır. Yoğun veritabanı yükleri için veritabanı sunucusu olarak VDS yazısına bakabilirsiniz.