MySQL es pot descriure com un sistema de gestió de bases de dades (codi obert), generalment instal·lat com a part del famós LLUM pila (Linux, Apache, MySQL, Perl/PHP/Python). Aplica el llenguatge de consulta estructurat (abreviatura de SQL) i opera el model relacional per gestionar les seves dades.
És la tecnologia més reconeixible de l'últim ecosistema de big data. Sovint coneguda com la base de dades més famosa i actualment d'ús eficaç i estès independentment de la producció. És transparent que qualsevol persona implicada amb dades generals de TI o d'empresa hauria d'aconseguir, almenys, una familiaritat comú de MySQL.
Qualsevol persona nova o no familiaritzada amb els sistemes relacionals pot crear sistemes d'emmagatzematge de dades potents, segurs i ràpids MySQL . Les interfícies programàtiques i la sintaxi de MySQL també són portes d'entrada ideals a l'enorme món d'altres famosos magatzems de dades estructurades i llenguatges de consulta.
Visió general de MySQL
MySQL està escrit C++ i C . L'analitzador SQL de MySQL està escrit jacc , però, aplica un analitzador lèxic elaborat a casa. MySQL s'implementa en diverses plataformes del sistema, com Tru64, Sanos, SCO UnixWare, SCO OpenServer, SunOS, Symbian, Oracle Solaris, QNX, OS/2 Warp, OpenSolaris, OpenBSD, Novell NetWare, NetBSD, Microsoft Windows, macOS, Linux, IRIX, IBM i, eComStation, ArcaOS, HP-UX, FreeBSD, BSDi i AIX. A més, hi ha disponible un port MySQL a OpenVMS.
Les biblioteques de client i el propi programari de servidor de MySQL utilitzen la distribució de llicència dual. Es proporcionen sota la segona versió de GPL o una llicència de propietat. El suport es podria rebre amb el manual oficial. A més, hi ha assistència gratuïta disponible en diferents formularis i canals IRC. Oracle facilita el suport de pagament Productes MySQL Enterprise . A més, es diferencien en l'abast i el preu dels serveis. També hi ha un número d'organitzacions de tercers per oferir serveis i suport.
MySQL ha obtingut diverses crítiques positives i aquests revisors van notar que 's'implementa molt bé dins del cas mitjà' i que 'les interfícies del desenvolupador hi són i la documentació'. A més, s'ha inspeccionat per ser un veritable servidor de bases de dades SQL multiusuari, estable i ràpid.
Especificacions de MySQL
MySQL és relacional
El factor principal és diferenciar les bases de dades relacionals a través d'altres rangs d'emmagatzematge digital en com es gestionen les dades a un alt nivell. Moltes bases de dades com MySQL inclouen registres en taules molt codificades, separades i múltiples, a diferència d'una col·lecció o dipòsits de documents no estructurats o semiestructurats.
- Permet als sistemes de bases de dades relacionals utilitzar millor accions com ara l'actualització de la informació, la recuperació de dades o accions més complicades com les agregacions.
- S'especifica un model lògic sobre cada contingut de la base de dades, especificant, per exemple, els valors permesos en una sola columna, les característiques de les vistes i les taules, o com s'associen els índexs de dues taules diferents.
- Diversos models relacionals són famosos per diverses raons.
- Animen els usuaris amb llenguatges de programació declaratius i intuïtius, bàsicament indicant a la base de dades quin resultat es desitja en el llenguatge.
- Mou el treball als motors SQL i RDBMS per estalviar i fer complir millor les regles lògiques de mà d'obra i recursos valuosos.
Codi obert
Qualsevol empresa o individu pot ampliar, publicar, modificar i utilitzar lliurement la base de codi MySQL de codi obert d'Oracle. El programari es publica a GNU GPL (Llicència Pública General) .
- Per al codi MySQL que requereixi ser inclòs o integrat en una aplicació comercial (o quan el programari de codi obert no és una prioritat), moltes empreses poden comprar una versió amb llicència comercial d'Oracle.
- Aquestes alternatives ofereixen a les empreses una flexibilitat addicional si decideixen implementar-les MySQL .
- La comunitat i la naturalesa pública de les versions de codi obert enriqueixen el suport en línia i la cultura de documentació de MySQL, alhora que assegura que les capacitats recentment desenvolupades o sostingudes mai divergeixen massa dels requisits dels usuaris.
MySQL és compatible
MySQL es va desenvolupar per ser compatible amb altres arquitectures i tecnologies, tot i que sovint col·laborava amb serveis web o aplicacions d'Internet. El sistema de gestió de bases de dades relacionals s'executa en tots els entorns informàtics principals, inclòs un sistema operatiu basat en Unix, com ara infinitat de distribucions de Linux, Windows , i macOS .
El arquitectura client-servidor de MySQL especifica que també pot suportar una sèrie de backends i diferents interfícies de programació. Les dades es poden migrar amb MySQL als seus forks ( MariaDB ) i la majoria dels altres sistemes de gestió de bases de dades relacionals també a causa de les similituds arquitectòniques i de llenguatge.
- Les eines de migració de tercers establertes i les eines d'Oracle permeten encara més MySQL moure dades a i a través d'una gran col·lecció de sistemes d'emmagatzematge comuns, però, aquests estan desenvolupats per estar basats en núvol o locals.
- MySQL es pot utilitzar en entorns virtualitzats centralitzats o distribuïts, i fins i tot està disponible com a biblioteques per aprendre aplicacions petites per a proves.
- L'àmplia compatibilitat de MySQL amb qualsevol altre programari i sistemes fa que sigui específicament la selecció pràctica de sistemes de gestió de bases de dades relacionals en la majoria dels casos.
Fàcil d'usar
Potser, el paradigma de la taula és el més intuïtiu i permet una major usabilitat, tot i el caràcter relacional MySQL i les estructures d'emmagatzematge rígides poden semblar restrictives. De fet, MySQL fa diversos reconeixements per donar suport a l'enorme gamma possible d'estructures de dades, a través dels tipus d'hora estàndard però rics, data, alfanumèrica, numèrica i lògica a dades geoespacials o JSON més avançades.
- Més enllà d'una costosa col·lecció de funcions integrades i tipus de dades senzills, l'ecosistema de MySQL també conté una sèrie d'eines que faciliten tot, des de la gestió del servidor fins a l'anàlisi de dades i la generació d'informes.
- Independentment de l'arquitectura general d'un sistema de gestió de bases de dades relacionals, els usuaris poden trobar un aspecte MySQL que els permeti codificar i modelar les dades com vulguin.
- MySQL segueix sent la tecnologia de bases de dades més senzilla d'utilitzar i aprendre.
Característiques de MySQL
MySQL es proporciona en dues edicions diferenciades: el servidor empresarial propietari i el servidor de comunitats MySQL de codi obert. MySQL Enterprise Server està separat per una sèrie d'extensions propietat que s'instal·len com els connectors del servidor, però distribueix el sistema de numeració de la versió i es desenvolupa utilitzant una base de codi similar.
A continuació s'expliquen algunes característiques principals de la versió 5.6 de MySQL:
- Suport multiplataforma
- An ANSI SQL 99 subconjunt ampli i extensions també.
- Procediments emmagatzemats amb els llenguatges procedimentals que gairebé s'adhereixen a PSM/SQL.
- Vistes actualitzables
- Cursors
- Disparadors
- Esquema d'informació
- En línia Llenguatge de definició de dades (abreviatura de DDL ) si s'aplica el InnoDB Motor d'emmagatzematge.
- Esquema de rendiment que reuneix i combina estadístiques sobre el rendiment de la consulta i l'execució del servidor per supervisar propòsits.
- Un grup d'opcions de mode SQL per controlar el comportament en temps d'execució, com ara un mode estricte per complir els estàndards d'SQL.
- Savepoints amb transaccions si s'aplica el InnoDB Motor d'emmagatzematge (per defecte). A més, el NDB Cluster Storage Engine admet transaccions.
- Consulta de memòria cau
- Suport SSL
- Sub-SELECT (p. ex., SELECT imbricats )
- Suport integrat per a la replicació
Sincrònic virtual: Els grups autogestionats del servidor MySQL amb suport de múltiples mestres es podrien implementar mitjançant el connector integrat de Replicació de grups o Galera cluster .
Limitacions de MySQL
Quan utilitzeu uns quants motors d'emmagatzematge que no siguin InnoDB (per defecte) , aleshores MySQL no compleix l'estàndard SQL complet per a algunes de les funcionalitats implementades, com ara les referències de clau estrangera. A més, tots els motors d'emmagatzematge poden analitzar les restriccions de comprovació, però evitar-les abans de la versió 8.0.15 de MySQL.
Els activadors es restringeixen a un únic per temporització/acció fins a la versió 5.7 de MySQL, el que significa que com a màxim es podria especificar un únic disparador per executar-se després d'una operació, és a dir, INSERT , i un sol abans INSERT en una taula semblant. No s'han pogut especificar activadors a les visualitzacions.
El 19 de gener de 2038, les funcions integrades de la base de dades MySQL com ara UNIX_TIMESTAMP torna 0 després 03:14:07 UTC . Recentment hi havia hagut un intent de resoldre el problema que s'havia designat a la cua interna.
Desplegament de MySQL
MySQL es podria instal·lar i construir manualment amb codi font, però bàsicament s'instal·la mitjançant un paquet binari tret que es necessitin personalitzacions úniques. El sistema de gestió de paquets pot obtenir i instal·lar MySQL amb un esforç mínim, sovint es necessiten més configuracions per ajustar la configuració d'optimització i seguretat a la majoria de distribucions de Linux.
Aplicació d'alta disponibilitat
Oracle MySQL proporciona aplicacions d'alta disponibilitat amb una barreja d'eines, com ara el shell MySQL i la Encaminador MySQL . Es basen en eines de codi obert i replicació en grup. MariaDB ofereix la mateixa oferta a diferència dels productes.
Com reiniciar el servidor MySQL?
Podem utilitzar l'ordre, és a dir, ' servei' per realitzar operacions habituals com ara iniciar, aturar i reiniciar el servidor MySQL a Ubuntu. En primer lloc, hem d'iniciar sessió al nostre servidor web i introduir una de les ordres següents.
Podem introduir l'ordre següent per iniciar el servidor MySQL a Ubuntu:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Podem introduir l'ordre següent per aturar el servidor MySQL a Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Podem introduir l'ordre següent per reiniciar el servidor MySQL a Ubuntu:
$ sudo systemctl restart mysql.service
Podem introduir l'ordre següent per comprovar l'estat del servidor MySQL a Ubuntu (s'està executant o no):
$ sudo systemctl status mysql.service