MySQL ve MySQL Tarihçesi
MySQL, SQL(Structured Query Language) tabanlı, Oracle destekli bir açık kaynaklı ilişkisel veritabanı yönetim sistemidir. (RDBMS). MySQL, Linux, UNIX ve Windows dahil olmak üzere hemen hemen tüm platformlarda çalışır.
Çok çeşitli uygulamalarda kullanılabilmesine rağmen, MySQL genellikle web uygulamaları ve çevrimiçi yayıncılık ile ilişkilendirilir.
MySQL, LAMP adı verilen açık kaynaklı bir kurumsal yığının önemli bir bileşenidir. LAMP, işletim sistemi olarak Linux, web sunucusu olarak Apache, ilişkisel veritabanı yönetim sistemi olarak MySQL ve nesne yönelimli komut dosyası dili olarak PHP kullanan bir web geliştirme platformudur. (Bazen PHP yerine Perl veya Python kullanılır.)
90’lı yılların ortasında geliştirilen MySQL, piyasada bulunan ilk açık kaynaklı veritabanlarından biriydi. Bugün, MySQL’in birçok alternatifi var. Ancak, değişkenler arasındaki farklar aynı sözdizimini kullandıkları için önemli değildir ve temel işlevsellik de aynı kalır.
İlginizi çekebilir: MySQL Dersleri
MySQL, organize bir veritabanında bulunan verilerin korunmasına izin veren bir RDBMS’dir. Kurucu ortağı Michael Widenius’un kızının adını almıştır. MySQL, veritabanlarına çok kullanıcılı erişim sağlar. Bu RDBMS sistemi, bir Linux dağıtımının üstünde PHP ve Apache Web Sunucusu kombinasyonuyla kullanılır. MySQL, veritabanını sorgulamak için SQL dilini kullanır.
MySQL, 2008’de Sun Microsystems tarafından ve ardından 2010 yılında Sun’ı satın aldığında Oracle tarafından satın alındı. Geliştiriciler, MySQL’i GNU Genel Kamu Lisansı (GPL) altında kullanabilirler, ancak işletmelerden ticari lisans almaları gerekir.
Bugün MySQL, dünyadaki en iyi web sitelerinin çoğunun ve Facebook, Twitter ve YouTube dahil sayısız kurumsal ve tüketiciye yönelik web tabanlı uygulamaların arkasındaki veritabanıdır.

MySQL nasıl çalışır?
MySQL, bir istemci-sunucu modeline dayanmaktadır. MySQL’in özü, tüm veritabanı talimatlarını (veya komutlarını) yöneten MySQL sunucusudur. MySQL sunucusu, istemci-sunucu ağ ortamında kullanım için ayrı bir program ve ayrı uygulamalara gömülebilecek (veya bağlanabilecek) bir kütüphane olarak mevcuttur.
MySQL, MySQL veritabanlarının yönetimini destekleyen çeşitli yardımcı programlarla birlikte çalışır. Komutlar, bir bilgisayara kurulu MySQL istemcisi aracılığıyla MySQLServer’a gönderilir.
MySQL başlangıçta büyük veritabanlarını hızlı bir şekilde ele almak için geliştirilmiştir. MySQL tipik olarak sadece bir makineye kurulsa da, kullanıcılar farklı MySQL istemci arayüzleri üzerinden erişebildiği için veritabanını birden fazla yere gönderebilir. Bu arayüzler sunucuya SQL cümleleri gönderir ve sonuçları görüntüler.
Çekirdek MySQL özellikleri
MySQL, InnoDB, CSV ve NDB dahil olmak üzere birden fazla depolama motorunda verilerin depolanmasını ve erişilmesini sağlar. MySQL ayrıca daha iyi performans ve dayanıklılık için veri ve bölümleme tablolarını çoğaltma yeteneğine de sahiptir. MySQL kullanıcılarının yeni komutları öğrenmesi gerekli değildir; standart SQL komutlarını kullanarak kendi verilerine erişebilirler.
MySQL, C ve C ++ dilinde yazılmıştır ve Mac, Windows, Linux ve Unix dahil 20 platformda erişilebilir durumdadır. RDBMS, milyonlarca kayıt içeren büyük veritabanlarını destekler ve 1, 2, 3, 4 ve 8 bayt uzunluğunda işaretli veya işaretsiz tamsayılar gibi birçok veri türünü destekler; FLOAT; DOUBLE; CHAR; VARCHAR; BINARY; VARBINARY; TEXT; BLOB; DATE; TIME; DATETIME; TIMESTAMP; YEAR; SET; ENUM; ve OpenGIS uzaysal tipler bunlardan bazılarıdır. Sabit ve değişken uzunluklu dize türleri de desteklenmektedir.
Güvenlik için, MySQL, ana bilgisayar tabanlı doğrulamayı sağlayan ayrıcalık ve şifreli parola sistemini kullanır. MySQL istemcileri, herhangi bir platformda TCP / IP soketleri dahil olmak üzere çeşitli protokoller kullanarak MySQL sunucularına bağlanabilir. Böylece MySQL birçok müşteri ve yardımcı programı, komut satırı programını ve MySQL Workbench gibi yönetim araçlarını desteklemektedir.
MySQL Fork olarak Bilinen Bazı MySQL Çatalları:
- Drizzle, MySQL 6.0 tabanlı hafif bir açık kaynaklı veritabanı yönetim sistemi;
- MariaDB, GNU Genel Kamu Lisansı altında serbest olarak kullanılabilen, MySQL’in yaratıcısı olan Monty Widenius‘un MySQL’in kodunu çatallayıp (fork) “çoğunlukla” MySQL ile aynı komutları, arayüzleri ve API’leri destekleyecek şekilde geliştirmeye başlanan (MariaDB 5.2 >= MySQL 5.2), toplulukla iç içe hızlı ve verimli şekilde geliştirilmeye devam edilen MySQL ilişkisel veritabanı yönetim sistemidir.
- Yatay ölçeklenebilirlik için bilinen MySQL’in geliştirilmiş bir sürümü olan XtraDB ile Percona Server.
Bu sistemler arasında en dikkat çekici olan MariaDB olmuştur. Günümüzde çoğu sunucu sorunsuz göç imkanı nedeniyle MariaDB sürümüne geçmektedir. MySQL komutlarını ile MariaDB üzerinde sorunsuz olarak olarak çalışmaktadır.(MariaDB 5.2 >= MySQL 5.2)
MariaDB’nin MySQL’den Farkı Nedir?
Sunucular artık MySQL yerine, MariaDB adlı bir veritabanı sistemi kullanmaya başladılar. Ancak MySQL’de gördüğünüz tüm özellikler MariaDB için de geçerlidir.
Aslında, MariaDB aslında MySQL’in bir çatalı ve MariaDB’nin baş geliştiricisi MySQL’in orijinal kurucularından biridir. Bir “çatal” sadece, MariaDB geliştiricilerinin orijinal açık kaynaklı MySQL kodunu temel aldıkları ve ardından MariaDB’yi oluşturmak için bunun üzerine inşa ettikleri anlamına gelir.
Bu nedenle, farklı bir ada sahip olsa da, MariaDB MySQL ile sıkı bir şekilde bağlantılıdır ve tam “açma” değiştirme yeteneği sunar (yani, herhangi bir özel önlem almanıza gerek kalmadan MySQL’den MariaDB’ye sorunsuz bir şekilde geçebilirsiniz).
Bununla birlikte, MariaDB MySQL ile birlikte çalışabilirlik sunarken, bazı alanlarda WordPress sitenizi güçlendirmek için en iyi performans gösteren mimariyi kullanma felsefemize uyan gelişmiş performans da sunar.
MySQL ve SQL
2016’dan önce, MySQL ve SQL arasındaki temel fark, öncekilerin birden fazla platformda kullanılabildiği, ikincisi ise yalnızca Windows’ta kullanılabiliyordu. Microsoft, daha sonra 2017’de yürürlüğe giren bir değişiklik olan Linux’u desteklemek için SQL’i genişletti. MySQL, Linux aracılığıyla yüklendiğinde, paket yönetim sistemi güvenlik ve optimizasyon ayarlarını ayarlamak için özel yapılandırma gerektirir.
MySQL ayrıca, program bireysel tablolar için birden fazla depolama motorunu kullanabildiği için, herhangi bir tablo için en etkili depolama motorunu seçmelerine izin verir. MySQL’in motorlarından biri InnoDB’dir. InnoDB yüksek kullanılabilirlik için tasarlanmıştır. Bu nedenle, diğer motorlar kadar hızlı değildir. SQL kendi depolama sistemini kullanır, ancak veri kaybına karşı çoklu koruma sağlar. Her iki sistem de yüksek kullanılabilirlik için kümelerle çalışabilir.
İlginizi çekebilir: MySQL Dersleri
SQL Server, çok çeşitli veri analizi ve raporlama araçları sunar. SQL Server Raporlama Servisleri en popüler olanıdır ve ücretsiz olarak indirilebilir. MySQL için, Crystal Reports XI ve Actuate BIRT gibi üçüncü taraf yazılım şirketlerinden temin edilebilecek benzer analiz araçları vardır.
Diğer servislerle uyumluluk
MySQL, diğer sistemlerle uyumlu olacak şekilde tasarlanmıştır. MySQL için Amazon RDS, MariaDB için Amazon RDS ve MySQL için Amazon Aurora gibi sanallaştırılmış ortamlarda dağıtımı destekler. Kullanıcılar, AWS Schema Conversion Tool ve AWS Database Migration Service gibi veritabanı taşıma araçlarını kullanarak verilerini bir SQL Server veritabanına aktarabilirler.
SQL Server ve MySQL arasındaki veritabanı nesnesi anlambilimi benzerdir, fakat aynı değildir. SQL Server’dan MySQL’e geçiş yaparken dikkat edilmesi gereken mimari farklılıklar vardır. MySQL’de, bir veritabanı ile bir şema arasında bir fark yoktur; oysa SQL Server ikisini ayrı varlıklar olarak görür.
SQL ve MySQL arasındaki farklar
Parametreler | SQL | MySQL |
Tanım | SQL, Yapısal Sorgu Dilidir. İlişkisel veritabanlarını yönetmek için kullanılır. | MySQL, bir veritabanını SQL kullanarak depolamak, almak, değiştirmek ve yönetmek için kullanılan bir RDBMS’dir. |
Karmaşıklık | Etkili kullanmak için SQL dilini öğrenmeniz gerekir. | İndirme ve yükleme yoluyla kolayca kullanılabilir. |
Tür | SQL bir sorgu dilidir. | MySQL veritabanı yazılımıdır. Veritabanını sorgulamak için “SQL” dilini kullanır. |
Bağlantı Desteği | SQL herhangi bir bağlantı desteği sağlamaz. | MySQL, veritabanlarını tasarlamak ve geliştirmek için ‘MySQL workbench’ adı verilen entegre bir araç sunar. |
Amaç | Veri tabanı sistemini sorgulamak ve çalıştırmaktır. | Veri işleme, saklama, değiştirme, tablo biçiminde silmeye izin verir. |
Kullanım | SQL kodu ve komutları MYSQL dahil olmak üzere çeşitli DBMS ve RDMS sistemlerinde kullanılır. | MYSQL, RDBMS veritabanı olarak kullanılır. |
Güncellemeler | Dil sabittir ve komut aynı kalır. | Sık güncellemeler alır. |
Sonuç olarak:
- SQL, veritabanınızı çalıştırmak için kullanılan bir dildir.
- MySQL, piyasada bulunan ilk açık kaynaklı veritabanlarından biriydi.
- SQL, bir veritabanındaki verilere erişme, güncelleme ve manipülasyonda kullanılır
- MySQL organize bir veritabanında bulunan verilerin korunmasına izin veren bir RDBMS’dir.
- SQL, Yapısal Sorgu Dilidir
- MySQL MYSQL kullanarak bir veritabanını depolamak, almak, değiştirmek ve yönetmek için kullanılan bir RDBMS’dir.
- MYSQL veritabanı yazılımı iken SQL bir sorgu dilidir