MySQL | |
---|---|
Tip de | SGBD relațional , software open source și software server |
Dezvoltator | MySQL AB , Sun Microsystems și Oracle |
Scris in | C++ [2] și C [3] |
Sistem de operare | Linux [4] , Microsoft Windows [4] , macOS [4] , FreeBSD [4] , Solaris [4] și sistem de operare asemănător Unix |
Prima editie | 1995 |
Platformă hardware | x86_64 [5] , IA-32 [5] , A64 [d] [5] și SPARC [5] |
ultima versiune | |
Formate de fișiere care pot fi citite | Format de definiție a tabelului MySQL [d] |
Formate de fișiere generate | Format de definiție a tabelului MySQL [d] |
Licență | GNU GPL 2 [6] și proprietar [7] |
Site-ul web | mysql.com _ |
Fișiere media la Wikimedia Commons |
MySQL ( IPA: [maɪ ˌɛskjuːˈɛl] ) este un sistem gratuit de gestionare a bazelor de date relaționale [8] . MySQL este dezvoltat și susținut de Oracle Corporation , care a achiziționat drepturile asupra mărcii înregistrate împreună cu Sun Microsystems , care a achiziționat anterior compania suedeză MySQL AB . Produsul este distribuit atât sub licența publică generală GNU, cât și sub propria licență comercială. În plus, dezvoltatorii creează funcționalități pentru utilizatorii licențiați. Datorită acestei comenzi, mecanismul de replicare a apărut în aproape cele mai vechi versiuni .
MySQL este soluția pentru aplicații mici și mijlocii. Inclus în serverele WAMP , AppServ , LAMP și în ansamblurile portabile ale serverelor Denver , XAMPP , VertrigoServ . MySQL este de obicei folosit ca un server accesat de clienți locali sau la distanță, dar distribuția include o bibliotecă internă de server care vă permite să includeți MySQL în programe independente.
Flexibilitatea SGBD-ului MySQL este susținută de un număr mare de tipuri de tabele: utilizatorii pot alege între tabele MyISAM care acceptă căutarea full-text și tabele InnoDB care acceptă tranzacții la nivelul înregistrărilor individuale. Mai mult, MySQL vine cu un tip special de tabel EXEMPLU care demonstrează cum se creează noi tipuri de tabele. Datorită arhitecturii sale deschise și licențelor GPL, noi tipuri de tabele sunt adăugate constant în baza de date MySQL.
Pe 26 februarie 2008, Sun Microsystems a achiziționat MySQL AB pentru 1 miliard de dolari [9] , pe 27 ianuarie 2010, Oracle a achiziționat Sun Microsystems pentru 7,4 miliarde de dolari [10] și a adăugat MySQL la gama sa DBMS [11] .
Comunitatea de dezvoltatori MySQL a creat diverse fork - uri ale codului, cum ar fi DrizzlePercona Server și MariaDB . Toate aceste furci existau deja la momentul preluării de către Sun de către Oracle.
MySQL a apărut ca o încercare de a aplica mSQL dezvoltărilor proprii ale companiei: tabele pentru care a fost folosit ISAM - rutine de nivel scăzut. Ca rezultat, a fost dezvoltată o nouă interfață SQL , dar API-ul a fost moștenit de la mSQL. De unde provine numele „MySQL” nu se știe cu siguranță. Dezvoltatorii oferă două opțiuni: fie pentru că aproape toate dezvoltările companiei au început cu prefixul „My ...” (din engleză - „my ...”), fie în onoarea fiicei lui Myu ( fin. My ) unul dintre dezvoltatorii sistemului Mikael Widenius [12] [13] .
Sigla MySQL delfinului poartă numele „ Sakila ”. A fost ales dintr-o listă mare de „nume de delfini” sugerate de utilizatori. Numele " Sakila " a fost trimis de dezvoltatorul Open Source Ambrose Twebaze .
MySQL are licență duală. MySQL poate fi distribuit în condiții de licență. Cu toate acestea, în conformitate cu termenii GPL, dacă vreun program folosește bibliotecile MySQL (sau include alt cod GPL), atunci trebuie să fie distribuit și sub licența GPL. Acest lucru poate fi în contradicție cu planurile dezvoltatorilor care nu doresc să deschidă programele lor. Pentru astfel de cazuri, este furnizată o licență comercială, care oferă, de asemenea, asistență pentru servicii de înaltă calitate. Pentru software-ul gratuit, Oracle oferă o excepție separată de la regula care permite în mod explicit utilizarea și redistribuirea MySQL cu software-ul licențiat conform unei liste specificate de Oracle. [paisprezece]
MySQL a fost portat pe un număr mare de platforme: AIX , BSDi , FreeBSD , HP-UX , Linux , macOS , NetBSD , OpenBSD , OS/2 Warp, SGI IRIX , Solaris , SunOS , SCO OpenServer , UnixWare , Tru64 , Windows 95 , Windows 98 , Windows NT , Windows 2000 , Windows XP , Windows Server 2003 , WinCE, Windows Vista , Windows 7 și Windows 10 . Există, de asemenea, un port MySQL pentru OpenVMS . Pe site-ul oficial al SGBD, nu numai codurile sursă sunt disponibile pentru descărcare gratuită, ci și module executabile MySQL DBMS gata făcute , compilate și optimizate pentru anumite sisteme de operare .
MySQL are API-uri [15] și conectori pentru Delphi , C , C++ , Eiffel , Java , Lisp , Perl , PHP , Python , Ruby , Smalltalk , Component Pascal , Tcl și Lua , biblioteci pentru limbajele platformei .NET și oferă, de asemenea, suport pentru pentru ODBC folosind driverul ODBC MyODBC .
MyODBC este un driver ODBC (2.50) de nivel 0 (cu unele caracteristici de nivel 1 și 2) pentru conectarea unei aplicații compatibile ODBC la MySQL. MyODBC rulează pe toate sistemele Microsoft Windows și pe majoritatea platformelor Unix .
[16] [17] [18] [19] [20] [21] [22]
Deși versiunea 4.0 este învechită, are încă o distribuție semnificativă. . Principalele caracteristici ale acestei versiuni:
Versiunea recomandată pentru 2005 este MySQL 4.1, lansată pe 27 octombrie 2004 . Conține următoarele inovații:
Lansat pe 24 octombrie 2005, MySQL 5.0 este o versiune cu funcționalități semnificativ îmbunătățite, care plasează MySQL la egalitate cu SGBD-urile comerciale . Dacă anterior MySQL a fost acuzat de suport insuficient pentru standardul SQL , atunci odată cu apariția celei de-a cincea versiuni a acestei baze de date populare, a apărut suport aproape complet pentru standardul SQL. MySQL 5.0 conține următoarele inovații:
MySQL 5.1 continuă calea către standardul SQL:2003 . MySQL 5.1 conține următoarele inovații [25] [26] .
Maria (începând cu versiunea 5.2.x - Aria) este o versiune extinsă a depozitului MyISAM , cu adăugarea unor mijloace de menținere a integrității datelor după un accident.
Principalele avantaje ale Mariei [27] :
Ramura MySQL 5.5 se bazează pe seria MySQL 5.4 nelansată și conține o serie de îmbunătățiri semnificative de scalabilitate și performanță, inclusiv:
MySQL 6.0 a fost înghețat în testarea alfa. Inițial, s-a decis să se creeze versiunea 5.2, în curând această versiune a fost redenumită la 6.0. Totuși, ulterior informațiile MySQL 6.0 au dispărut de pe site, iar dezvoltatorii s-au concentrat pe versiunea 5.5 și următoarea versiune 5.6.
Una dintre principalele inovații ale versiunii 6.0 a fost noul tip de masă Falcon , dezvoltat ca un potențial înlocuitor pentru InnoDB de către Innobase , achiziționat de Oracle . În legătură cu achiziția Sun Microsystems de către același Oracle în 2010 , soarta lui Falcon rămâne în discuție.
Prima versiune a ramului MySQL 5.7.1 a fost anunțată pe 23 aprilie 2013. MySQL 5.7.8 este adaptat pentru Debian 8 și Ubuntu 15.04. Cea mai recentă versiune este 5.7.32 din 19.10.2020. [24]
Versiunea 8.0.0 a fost lansată pe 09/12/2016, dar versiunea 8.0.11, lansată pe 04/19/2018, a fost oficial utilizabilă în întreaga lume. Cea mai recentă versiune este 8.0.22 (lansare din 19.10.2020) [28]
Dimensiunea maximă a tabelelor în MySQL 3.22 este de până la 4 gigaocteți, în versiunile ulterioare nu există restricții.
Dimensiunea unui tabel este limitată de tipul acestuia. În general, tipul MyISAM este limitat de limita de dimensiune a fișierului a sistemului de fișiere al sistemului de operare . De exemplu, pe NTFS această dimensiune ar putea fi teoretic de până la 32 de exaocteți . În cazul InnoDB , un tabel poate fi stocat în mai multe fișiere reprezentând un singur spațiu de masă . Dimensiunea acestuia din urmă poate ajunge la 64 de terabytes .
Spre deosebire de MyISAM , InnoDB are o limită semnificativă a numărului de coloane care pot fi adăugate la un singur tabel. Dimensiunea implicită a paginii de memorie este de 16 kiloocteți, dintre care 8123 de octeți sunt rezervați pentru date. Dimensiunea indicatorului către câmpuri dinamice este de 20 de octeți. Astfel, în cazul utilizării formatului de rând dinamic ( ROW_FORMAT=DYNAMIC), un tabel poate conține maximum 409 coloane de tip blobsau text.
Începând cu versiunea 4.1, în SGBD -ul MySQL a fost implementat un nou sistem de codificări și colaționări . Când utilizați codificarea Windows-1251, înainte de a executa instrucțiuni SQL, trebuie să configurați codificarea conexiunii folosind operatorii:
SET character_set_client = 'cp1251' ; SET character_set_results = 'cp1251' ; SET character_set_connection = 'cp1251' ;Aceste trei instrucțiuni sunt echivalente cu apelarea unei singure instrucțiuni:
SETĂ NUMELE „cp1251”Variabila character_set_clientsetează codificarea datelor trimise de la client, variabila character_set_resultssetează codificarea datelor trimise către client, variabila character_set_connectionsetează codificarea în care informațiile primite de la client sunt convertite înainte ca cererea să fie executată pe server.
Când utilizați Unicode UTF-8, această declarație arată astfel:
SETĂ NUMELE „utf8mb4”Codarea ISO 8859-5 nu este acceptată.
MySQL nu permite utilizarea corectă a expresiilor regulate (operatorii REGEXP și RLIKE) pe șiruri de caractere în codificări pe mai mulți octeți, cum ar fi pentru Unicode (UTF-8) [29] . Dacă sunt necesare astfel de operațiuni, trebuie să comutați la codificări pe un singur octet, de exemplu, Russian Win-1251 sau KOI-8 .
MySQL | |
---|---|
Versiuni |
|
Instrumente |
|
Motoare | |
furci |
|
Sisteme de management al bazelor de date (DBMS) | |
---|---|
Client server | |
Motoare | |
Server de fișiere |
Bază de date | |
---|---|
Concepte |
|
Obiecte |
|
Chei | |
SQL |
|
Componente |
Sun Microsystems (preluat de Oracle ) | |
---|---|
Echipamente | |
Software |
|
Stocare a datelor | |
Calcul de înaltă performanță |
|
Cercetare |
|
Educaţie |
|
Comunitate |