MySQL può essere descritto come un sistema di gestione di database (open source), generalmente installato come parte del famoso LAMPADA (Linux, Apache, MySQL, Perl/PHP/Python). Applica Structured Query Language (abbreviazione di SQL) e gestisce il modello relazionale per la gestione dei suoi dati.
È la tecnologia più riconoscibile nell’ultimo ecosistema di big data. Spesso conosciuto come il database più famoso e attualmente utilizzato in modo efficace e diffuso indipendentemente dalla produzione. È chiaro che chiunque sia coinvolto nell'IT generale o nei dati aziendali dovrebbe almeno mirare a una comune familiarità con MySQL.
Chiunque sia nuovo o non abbia familiarità con i sistemi relazionali può creare sistemi di archiviazione dati potenti, sicuri e veloci con MySQL . Le interfacce programmatiche e la sintassi di MySQL sono anche porte ideali per accedere all'immenso mondo di altri famosi archivi di dati strutturati e linguaggi di query.
Panoramica di MySQL
MySQL è scritto dentro C++ E C . Il parser SQL di MySQL è scritto in sì, sì , tuttavia, applica un analizzatore lessicale preparato in casa. MySQL è implementato su varie piattaforme di sistema, tra cui 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 e AIX. Inoltre, è disponibile una porta MySQL per OpenVMS.
Le librerie client e il software server stesso di MySQL utilizzano la distribuzione della doppia licenza. Sono forniti con la seconda versione della GPL o con una licenza proprietaria. Il supporto potrebbe essere ricevuto con il manuale ufficiale. Inoltre, il supporto gratuito è disponibile in moduli e canali IRC distinti. Oracle facilita il supporto a pagamento da parte sua Prodotti MySQL Enterprise . Inoltre, differiscono nella portata e nel prezzo dei servizi. Esistono inoltre numerose organizzazioni di terze parti per offrire servizi e supporto.
MySQL ha ottenuto diverse recensioni positive e questi revisori hanno notato che 'si implementa molto bene nel caso medio' e che 'sono presenti le interfacce dello sviluppatore e la documentazione'. Inoltre, è stato controllato per essere un vero server database multi-thread multiutente, stabile e veloce di SQL.
Specifiche di MySQL
MySQL è relazionale
Il fattore principale è differenziare i database relazionali da altre gamme di archiviazione digitale nel modo in cui i dati vengono gestiti ad alto livello. Molti database come MySQL includono record in tabelle altamente codificate, separate e multiple, invece di una raccolta onnicomprensiva o di archivi di documenti non strutturati o semistrutturati.
- Consente ai sistemi di database relazionali di utilizzare meglio azioni come l'aggiornamento delle informazioni, il recupero dei dati o azioni più complicate come le aggregazioni.
- Un modello logico viene specificato su ogni contenuto del database, specificando ad esempio i valori consentiti in una singola colonna, le caratteristiche delle viste e delle tabelle o il modo in cui gli indici sono associati da due tabelle diverse.
- Diversi modelli relazionali sono famosi per vari motivi.
- Incoraggiano gli utenti con linguaggi di programmazione dichiarativi e intuitivi, essenzialmente istruendo il database quale risultato si desidera nel linguaggio.
- Sposta il lavoro nei motori SQL e RDBMS per risparmiare e applicare meglio le regole logiche di manodopera e risorse preziose.
Open source
Qualsiasi azienda o individuo può espandere, pubblicare, modificare e utilizzare liberamente il codice base MySQL open source di Oracle. Il software è pubblicato su GNU GPL (Licenza pubblica generale) .
- Per il codice MySQL che richiede di essere incluso o integrato in un'applicazione commerciale (o quando il software open source non è una priorità), molte aziende possono acquistare una versione con licenza commerciale da Oracle.
- Queste alternative offrono alle aziende maggiore flessibilità se decidono di implementarle MySQL .
- La natura comunitaria e pubblica delle versioni open source arricchisce il supporto online e la cultura della documentazione di MySQL, garantendo al tempo stesso che le funzionalità nuove o sostenute non si discostino mai troppo dalle esigenze degli utenti.
MySQL è compatibile
MySQL è stato sviluppato per essere compatibile con altre architetture e tecnologie sebbene spesso collabori con servizi Web o applicazioni Internet. Il sistema di gestione del database relazionale funziona su tutti i principali ambienti informatici, incluso un sistema operativo basato su Unix, come una miriade di distribuzioni Linux, Windows , E Mac OS .
IL architettura client-server Di MySQL specifica che può supportare una gamma di backend e anche diverse interfacce di programmazione. I dati possono essere migrati con MySQL ai suoi fork ( MariaDB ) e anche la maggior parte degli altri sistemi di gestione di database relazionali a causa delle somiglianze linguistiche e architettoniche.
- La migrazione consolidata di terze parti e gli strumenti Oracle consentono inoltre a MySQL di spostare i dati verso e attraverso un'enorme raccolta di sistemi di storage comuni, tuttavia, questi sono sviluppati per essere basati su cloud o on-premise.
- MySQL può essere utilizzato in ambienti virtualizzati centralizzati o distribuiti ed è anche disponibile come librerie per apprendere piccole applicazioni a scopo di test.
- L'ampia compatibilità di MySQL con ogni altro software e sistema lo rende nella maggior parte dei casi particolarmente adatto alla scelta dei sistemi di gestione di database relazionali.
Facile da usare
Forse il paradigma della tabella è il più intuitivo e consente una maggiore usabilità, nonostante la natura relazionale MySQL e le rigide strutture di stoccaggio possono sembrare restrittive. Infatti, MySQL fa numerosi riconoscimenti per supportare l'enorme gamma possibile di strutture dati, attraverso i tipi di tempo standard ma ricchi, data, alfanumerici, numerici e logici fino ai dati geospaziali o JSON più avanzati.
- Oltre a una costosa raccolta di funzionalità integrate e semplici tipi di dati, l'ecosistema di MySQL contiene anche una gamma di strumenti che semplificano tutto, dalla gestione dei server all'analisi dei dati e al reporting.
- Indipendentemente dall'architettura generale di un sistema di gestione di database relazionali, gli utenti possono trovare un aspetto MySQL che consente loro di codificare e modellare i dati come desiderano.
- MySQL rimane la tecnologia di database più semplice da utilizzare e apprendere.
Funzionalità di MySQL
MySQL è fornito in due edizioni distinte: la server aziendale proprietario E il MySQL Community Server open source. MySQL Enterprise Server è separato da una serie di estensioni proprietarie che si installano come i plugin del server, ma distribuisce il sistema di numerazione della versione ed è sviluppato utilizzando una codebase simile.
Alcune delle principali funzionalità della versione 5.6 di MySQL sono spiegate di seguito:
- Supporto multipiattaforma
- UN ANSISQL99 ampio sottoinsieme ed estensioni.
- Procedure memorizzate con i linguaggi procedurali che aderiscono quasi a PSM/SQL.
- Viste aggiornabili
- Cursori
- Trigger
- Schema informativo
- in linea Linguaggio di definizione dei dati (Corto per DDL ) se si applica il InnoDB Motore di archiviazione.
- Schema delle prestazioni che assembla e combina le statistiche sulle prestazioni delle query e sull'esecuzione del server per monitorare gli scopi.
- Un gruppo di opzioni della modalità SQL per controllare il comportamento di runtime, ad esempio una modalità rigorosa per aderire agli standard SQL.
- Punti di salvataggio con transazioni se si applica il file InnoDB Motore di archiviazione (predefinito). Inoltre, NDB Cluster Storage Engine supporta le transazioni.
- Memorizzazione delle query nella cache
- Supporto SSL
- Sub-SELECT (ad es. SELECT nidificati )
- Supporto integrato per la replica
Sincrono virtuale: I gruppi autogestiti del server MySQL con supporto multi-master potrebbero essere implementati utilizzando il plug-in integrato di Replica di gruppo o Gruppo di cambusa .
Limitazioni di MySQL
Quando si utilizzano alcuni motori di archiviazione diversi da InnoDB (predefinito) , MySQL non è conforme allo standard SQL completo per alcune delle funzionalità implementate come i riferimenti a chiavi esterne. Inoltre, i vincoli check possono essere analizzati ma evitati da ogni motore di archiviazione prima della versione 8.0.15 di MySQL.
I trigger sono limitati a un singolo trigger per tempo/azione fino alla versione 5.7 di MySQL, il che significa che è possibile specificare al massimo un singolo trigger da eseguire dopo un'operazione, ovvero INSERIRE , e un singolo prima INSERIRE su un tavolo simile. Non è stato possibile specificare alcun trigger nelle visualizzazioni.
Il 19 gennaio 2038, le funzioni integrate del database MySQL come UNIX_TIMESTAMP restituisce 0 dopo 03:14:07 UTC . Recentemente c'era stato un tentativo di risolvere il problema che era stato assegnato alla coda interna.
Distribuzione di MySQL
MySQL potrebbe essere installato e creato manualmente utilizzando il codice sorgente, ma fondamentalmente è installato utilizzando un pacchetto binario a meno che non siano necessarie personalizzazioni uniche. Il sistema di gestione dei pacchetti può ottenere e installare MySQL con il minimo sforzo, spesso sono necessarie ulteriori configurazioni per regolare le impostazioni di ottimizzazione e sicurezza sulla maggior parte delle distribuzioni Linux.
Applicazione ad alta disponibilità
OracleMySQL fornisce applicazioni ad alta disponibilità con una combinazione di strumenti tra cui Guscio MySQL e il Router MySQL . Si basano su strumenti open source e replica di gruppo. MariaDB offre la stessa offerta a differenza dei prodotti.
Come riavviare il server MySQL?
Possiamo usare il comando, cioè ' servizio' per eseguire operazioni comuni come avviare, arrestare e riavviare il server MySQL in Ubuntu. Per prima cosa dobbiamo accedere al nostro server web e inserire uno dei seguenti comandi.
Possiamo inserire il comando seguente per avviare il server MySQL in Ubuntu:
$ sudo systemctl start mysql.service $ sudo systemctl status mysql.service
Possiamo inserire il comando seguente per arrestare il server MySQL in Ubuntu:
$ sudo systemctl stop mysql.service $ sudo systemctl status mysql.service
Possiamo inserire il comando seguente per riavviare il server MySQL in Ubuntu:
$ sudo systemctl restart mysql.service
Possiamo inserire il comando seguente per verificare lo stato del server MySQL in Ubuntu (indipendentemente dal fatto che sia in esecuzione o meno):
$ sudo systemctl status mysql.service