MySQL Genellikle ünlü sistemin bir parçası olarak kurulan bir veritabanı yönetim sistemi (açık kaynak) olarak tanımlanabilir. LAMBA (Linux, Apache, MySQL, Perl/PHP/Python) yığını. Yapılandırılmış Sorgu Dili'ni (SQL'in kısaltması) uygular ve verilerini yönetmek için ilişkisel modeli çalıştırır.
Büyük verinin en yeni ekosistemindeki en tanınabilir teknolojidir. Çoğu zaman en ünlü veri tabanı olarak bilinir ve şu anda üretimden bağımsız olarak etkili ve yaygın olarak kullanılmaktadır. Genel BT veya kurumsal verilerle ilgilenen herkesin en azından ortak bir MySQL aşinalığı hedeflemesi gerektiği açıktır.
İlişkisel sistemlere yeni başlayan veya aşina olmayan herkes, güçlü, güvenli ve hızlı veri depolama sistemleri oluşturabilir. MySQL . Programatik arayüzler ve sözdizimi MySQL aynı zamanda diğer ünlü yapılandırılmış veri depolarının ve sorgulama dillerinin devasa dünyasına açılan ideal geçitlerdir.
MySQL'e Genel Bakış
MySQL içinde yazılmıştır C++ Ve C . MySQL'in SQL ayrıştırıcısı şöyle yazılmıştır: yacc ancak evde hazırlanmış bir sözcük analizörü uygular. MySQL, Tru64, Sanos, SCO UnixWare, SCO OpenServer, SunOS, Symbian, Oracle Solaris, QNX, OS/2 Warp, OpenSolaris, OpenBSD, Novell NetWare, NetBSD, Microsoft Windows, macOS, Linux, IRIX dahil olmak üzere çeşitli sistem platformlarında uygulanır. IBM i, eComStation, ArcaOS, HP-UX, FreeBSD, BSDi ve AIX. Ayrıca OpenVMS'ye yönelik bir MySQL bağlantı noktası da mevcuttur.
MySQL'in istemci kitaplıkları ve sunucu yazılımı, çift lisanslama dağıtımını kullanır. GPL'nin 2. sürümü veya özel bir lisans kapsamında sağlanırlar. Destek resmi kılavuzla alınabilir. Ek olarak, farklı IRC formları ve kanallarında ücretsiz destek mevcuttur. Oracle, ücretli desteği kolaylaştırıyor MySQL Kurumsal ürünleri . Ayrıca hizmetlerin kapsamı ve fiyatı bakımından da farklılık gösterirler. Hizmet ve destek sunmak için ek olarak üçüncü taraf kuruluşların sayısı da mevcuttur.
MySQL çeşitli olumlu eleştiriler aldı ve bu incelemeciler MySQL'in 'ortalama durumda son derece iyi bir şekilde uygulandığını' ve 'geliştiricinin arayüzlerinin ve belgelerinin mevcut olduğunu' fark ettiler. Ayrıca, gerçek bir çok kullanıcılı, kararlı ve hızlı, çok iş parçacıklı SQL veritabanı sunucusu olduğu da denetlenmiştir.
MySQL'in özellikleri
MySQL İlişkiseldir
Ana faktör, verilerin yüksek düzeyde nasıl yönetileceği konusunda ilişkisel veritabanlarını diğer dijital depolama aralıkları aracılığıyla farklılaştırmaktır. MySQL gibi pek çok veri tabanı, her şeyi kapsayan tek bir koleksiyon veya yapılandırılmamış veya yarı yapılandırılmış belge havuzlarının aksine, yüksek düzeyde kodlanmış, ayrı ve çoklu tablolardaki kayıtları içerir.
- İlişkisel veritabanı sistemlerinin bilgileri güncelleme, veri alma gibi eylemleri veya toplama gibi daha karmaşık eylemleri daha iyi kullanmasına olanak tanır.
- Veritabanının her içeriği üzerinde, örneğin tek bir sütunda izin verilen değerleri, görünümlerin ve tabloların özelliklerini veya iki farklı tablodan indekslerin nasıl ilişkilendirildiğini belirten mantıksal bir model belirtilir.
- Çeşitli ilişkisel modeller çeşitli nedenlerle ünlüdür.
- Kullanıcıları bildirimsel ve sezgisel programlama dilleriyle teşvik ederler, esasen veritabanına dilde hangi sonucun istendiğini bildirirler.
- Değerli insan gücü ve kaynakların mantıksal kurallarını daha iyi kaydetmek ve uygulamak için işi SQL ve RDBMS motorlarına taşır.
Açık kaynak
Herhangi bir kuruluş veya kişi, Oracle'ın açık kaynaklı MySQL kod tabanını serbestçe genişletebilir, yayınlayabilir, değiştirebilir ve kullanabilir. Yazılım şu tarihte yayınlanır: GNU GPL (Genel Kamu Lisansı) .
- Ticari bir uygulamaya dahil edilmesi veya entegre edilmesi gereken MySQL kodu için (veya açık kaynaklı yazılım bir öncelik olmadığında), birçok kuruluş Oracle'dan ticari olarak lisanslı bir sürüm satın alabilir.
- Bu alternatifler, uygulamaya karar verilmesi durumunda işletmelere ekstra esneklik sunar. MySQL .
- Açık kaynak sürümlerinin topluluk ve kamuya dayalı doğası, MySQL'in çevrimiçi destek ve belgeleme kültürünü zenginleştirirken aynı zamanda yeni geliştirilen veya sürdürülen yeteneklerin asla kullanıcı gereksinimlerinden çok fazla sapmamasını sağlar.
MySQL uyumludur
MySQL, diğer mimariler ve teknolojilerle uyumlu olacak şekilde geliştirildi, ancak sıklıkla web hizmetleri veya internet uygulamalarıyla işbirliği yapıldı. İlişkisel veritabanı yönetim sistemi, Unix tabanlı işletim sistemi de dahil olmak üzere her büyük bilgi işlem ortamında çalışır. sayısız Linux dağıtımı, Windows , Ve Mac os işletim sistemi .
istemci-sunucu mimarisi ile ilgili MySQL bir dizi arka ucu ve farklı programlama arayüzlerini de destekleyebileceğini belirtir. Veriler MySQL ile çatallarına taşınabilir ( MariaDB ) ve diğer birçok ilişkisel veritabanı yönetim sistemi gibi dil ve mimari benzerlikler nedeniyle.
- Yerleşik üçüncü taraf geçişi ve Oracle araçları ayrıca MySQL'in verileri çok sayıda ortak depolama sistemi koleksiyonuna taşımasına olanak tanır, ancak bunlar bulut tabanlı veya şirket içi olacak şekilde geliştirilmiştir.
- MySQL, merkezi veya dağıtılmış, sanallaştırılmış ortamlarda kullanılabilir ve hatta küçük, test amaçlı uygulamaları öğrenmek için kitaplıklar olarak bile mevcuttur.
- MySQL'in diğer tüm yazılım ve sistemlerle geniş uyumluluğu, onu çoğu durumda özellikle ilişkisel veritabanı yönetim sistemlerinin pratik seçimi haline getirir.
Kullanımı kolay
Belki de tablo paradigması en sezgisel olanıdır ve daha fazla kullanılabilirliğe izin verir, ancak tablonun ilişkisel doğası MySQL ve katı depolama yapıları kısıtlayıcı görünebilir. Aslında, MySQL standart ancak zengin zaman türleri, tarih, alfasayısal, sayısal ve mantıksal verilerden daha gelişmiş coğrafi veya JSON verilerine kadar olası çok çeşitli veri yapılarını desteklemek için çeşitli teşekkürlerde bulunur.
- Pahalı yerleşik özellik koleksiyonunun ve basit veri türlerinin ötesinde, MySQL ekosistemi aynı zamanda sunucu yönetiminden veri analizi ve raporlamaya kadar her şeyi kolaylaştıran bir dizi araç içerir.
- İlişkisel bir veritabanı yönetim sisteminin kapsayıcı mimarisi ne olursa olsun, kullanıcılar verileri istedikleri gibi kodlamalarına ve modellemelerine olanak tanıyan bir MySQL özelliği bulabilirler.
- MySQL, kullanımı ve öğrenilmesi en basit veritabanı teknolojisi olmaya devam ediyor.
MySQL'in özellikleri
MySQL iki farklı baskı altında sunulmaktadır: tescilli Kurumsal Sunucu Ve açık kaynaklı MySQL Topluluk Sunucusu. MySQL Kurumsal Sunucu sunucu eklentileri gibi yüklenen özel bir uzantı serisiyle ayrılır, ancak sürümün numaralandırma sistemini dağıtır ve benzer bir kod tabanı kullanılarak geliştirilir.
MySQL'in 5.6 sürümünün bazı önemli özellikleri aşağıda açıklanmıştır:
- Platformlar arası destek
- Bir ANSISQL99 geniş alt küme ve uzantılar da.
- Neredeyse PSM/SQL'e uyan prosedür dillerine sahip saklı prosedürler.
- Güncellenebilir görünümler
- İmleçler
- Tetikleyiciler
- Bilgi şeması
- Çevrimiçi Veri Tanımlama Dili (kısa DDL ) uygulanırsa InnoDB Depolama Motoru.
- İzleme amaçları için sorgu performansı ve sunucu yürütmesine ilişkin istatistikleri bir araya getiren ve birleştiren performans şeması.
- SQL standartlarına uymak için katı mod gibi çalışma zamanı davranışını kontrol etmeye yönelik bir grup SQL modu seçeneği.
- Uygulanıyorsa işlemlerle birlikte kaydedilen noktalar InnoDB Depolama Motoru (varsayılan). Ayrıca NDB Küme Depolama Motoru işlemleri destekler.
- Sorgu önbelleğe alma
- SSL desteği
- Alt SEÇİMLER (ör. iç içe geçmiş SELECT'ler )
- Çoğaltma için yerleşik destek
Sanal Senkron: MySQL sunucusunun çoklu yönetici desteğine sahip kendi kendini yöneten grupları, yerleşik Grup Çoğaltma eklentisi kullanılarak uygulanabilir veya Gale kümesi .
MySQL'in Sınırlamaları
Birkaç depolama motorunu kullanırken InnoDB (varsayılan) , bu durumda MySQL, yabancı anahtar referansları gibi uygulanan işlevselliklerden birkaçı için SQL standardının tamamıyla uyumlu değildir. Ayrıca, MySQL'in 8.0.15 sürümünden önceki her depolama motoru tarafından kontrol kısıtlamaları ayrıştırılabilir ancak bu kısıtlamalardan kaçınılabilir.
Tetikleyiciler, MySQL'in 5.7 sürümüne kadar zamanlama/eylem başına tek bir tetikleyiciyle sınırlıdır; bu, bir işlemden sonra en fazla tek bir tetikleyicinin çalıştırılmak üzere belirtilebileceği anlamına gelir; SOKMAK ve öncesinde bir tek SOKMAK benzer bir masada. Görünümlerde hiçbir tetikleyici belirtilemedi.
19 Ocak 2038'de MySQL veritabanının yerleşik işlevleri, UNIX_TIMESTAMP sonra 0 değerini döndür 03:14:07 UTC . Geçtiğimiz günlerde iç sıraya atılan sorunun çözümü için girişimlerde bulunulmuştu.
MySQL'in Dağıtımı
MySQL Kaynak kodu kullanılarak manuel olarak kurulabilir ve oluşturulabilir, ancak benzersiz özelleştirmeler gerekmediği sürece daha temelde ikili paket kullanılarak kurulur. Paket yönetim sistemi minimum çaba harcayarak MySQL'i alıp kurabilir; çoğu Linux dağıtımında optimizasyon ve güvenlik ayarlarını yapmak için genellikle daha fazla yapılandırmaya ihtiyaç duyulur.
Yüksek kullanılabilirliğe sahip uygulama
Oracle MySQL'i aşağıdakileri içeren bir araç karışımıyla yüksek kullanılabilirlik uygulamaları sağlar: MySQL kabuğu ve MySQL yönlendiricisi . Açık kaynaklı araçlara ve Grup çoğaltmasına dayanırlar. MariaDB, ürünlerin aksine aynı teklifi sunuyor.
MySQL sunucusu nasıl yeniden başlatılır?
Komutu kullanabiliriz, yani ' hizmet' Ubuntu'da MySQL sunucusunu başlatma, durdurma ve yeniden başlatma gibi genel işlemleri gerçekleştirmek için. Öncelikle web sunucumuza giriş yapıp aşağıdaki komutlardan birini girmemiz gerekiyor.
Ubuntu'da MySQL sunucusunu başlatmak için aşağıdaki komutu girebiliriz:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Ubuntu'da MySQL sunucusunu durdurmak için aşağıdaki komutu girebiliriz:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Ubuntu'da MySQL sunucusunu yeniden başlatmak için aşağıdaki komutu girebiliriz:
$ sudo systemctl restart mysql.service
Ubuntu'daki MySQL sunucusunun durumunu (çalışıyor olsun ya da olmasın) kontrol etmek için aşağıdaki komutu girebiliriz:
$ sudo systemctl status mysql.service