Introduzione a MySQL Server
Che cos'è MySQL Server?
Esistono molti RDBMS (sistemi) disponibili sul mercato per la gestione dei database, il più popolare tra questi è MySQL. MySQL è un sistema di gestione di database relazionali (RDBMS) open source ed è basato su Structured Query Language (SQL - che è un linguaggio per gestire la base di dati ed eseguire operazioni CRUD come creare, leggere, aggiornare ed eliminare.). qui discutiamo del server MySQL.
MySQL, un breve viaggio:
- È stato creato e posseduto per la prima volta da una società svedese di nome MySQL AB con la sua prima versione iniziale nell'anno 1995, 23 maggio.
- Nel 2008, MySQL AB è stata acquisita da Sun Microsystems con un accordo di 1 miliardo.
- Nel 2010, Sun Microsystems è stata ulteriormente acquisita da Oracle.
- L'ultima versione del server MySQL è 8.0, rilasciata il 19 aprile 2018.
MySQL può virtualmente funzionare su qualsiasi piattaforma come Linux, Solaris e Windows ed è il RDBMS più popolare e ampiamente utilizzato perché è un DB Server open source e freeware che offre funzionalità di database molto avanzate.
Alcuni esempi in cui viene utilizzato MySQL Server sono:
- Google, Facebook, Yahoo e molti altri giganti della tecnologia hanno utilizzato MySQL per migliorare le loro capacità di elaborazione dei dati.
- MySQL è un componente molto importante per LAMP che è una piattaforma di sviluppo web con Linux come sistema operativo, Apache come server Web, MySQL come RDBMS e PHP come linguaggio di programmazione. Tuttavia, Python o Perl possono essere usati al posto di PHP come linguaggio di programmazione o di scripting.
- Può essere utilizzato ovunque, dove i dati devono essere archiviati in modo relazionale, cioè in un formato tabulare. Ogni tabella ha una chiave primaria e le righe possono essere correlate tra loro usando questa chiave primaria.
Vantaggi del server MySQL:
-
Portatile -
Può funzionare su un numero enorme di piattaforme come UNIX, Solaris, Windows, OS / 2, ecc.
-
Open Source -
Ancora più importante, MySQL è reso disponibile a tutti come software open source e chiunque può utilizzarlo gratuitamente accettando i suoi termini e condizioni.
-
Sicurezza -
Tutte le basi di dati MySQL sono molto sicure e bloccate con password crittografate mediante algoritmi complessi e non è mai facile violarle.
-
Connettività -
Esistono numerosi meccanismi disponibili per connettersi con server MySQL come TCP / IP, socket UNIX e pipe denominate
-
Aggiornamenti regolari e sviluppo continuo-
Essendo una piattaforma open source, MySQL ha una grande comunità di sviluppatori e rilascia regolarmente patch e aggiornamenti per MySQL.
Architettura di MySQL Server:
L'architettura di MySQL è costituita principalmente dai seguenti componenti:
- Server MySQL
- Clienti MySQL
- Directory dei dati
- Motore di archiviazione
MySQL si basa su un modello client-server.
Fonte: http://actimem.com/wp-content/uploads/2015/09/mysql.png.webp?x78177
Server MySQL:
È un'istanza di MySQL in cui i dati effettivi vengono archiviati ed elaborati. Questo componente è responsabile dell'elaborazione delle query in arrivo provenienti dai client MySQL e modifica le tabelle del database. È anche responsabile dell'accettazione delle connessioni al database che provengono dai client MySQL. I programmi importanti del componente MySQL Server sono:
-
MySQL:
È un programma demone server MySQL. Funziona in background e gestisce le richieste dei client MySQL.
-
mysqld_safe:
È un programma che riavvia il server ogni volta che si verifica un errore. Questa era una caratteristica di sicurezza di questo programma, l'altra è che mantiene i registri per le informazioni di runtime in un registro degli errori.
-
mysql.server:
È un'utilità MySQL che è stata fornita per avviare lo script mysqld_safe.
-
mysqld_multi:
Questo programma viene utilizzato per gestire molti processi mysqld che sono in attesa di connessioni su diversi canali di connessione come TCP / IP, socket UNIX, ecc.
Clienti MySQL:
I client MySQL sono sostanzialmente i programmi di utilità utilizzati per comunicare con il server MySQL. In altre parole, questi sono i programmi che comunicano con il server MySQL. Esempi di client MySQL sono programmi come Perl, PHP, Java, MySQL, mysqladmin e strumenti come dump MySQL, mysqlcheck, myisamchk. Programmi importanti con client MySQL sono:
- MySQL è una shell SQL in cui è possibile scrivere ed eseguire istruzioni SQL. Può essere interattivo o non interattivo. Se utilizzati in modo interattivo, i risultati vengono restituiti in un formato tabulare mentre l'uso non interattivo restituisce il risultato in un formato separato da tabulazioni.
- mysqladmin è un client per l'amministrazione del server MySQL. Può essere utilizzato per controllare i file di configurazione, aggiornarli, verificare lo stato corrente del server e anche per creare e eliminare i database, ecc.
- mysqldump è un'utilità client e un programma di backup del database che esegue backup logici.
- mysqlcheck e myisamchk sono client utilizzati per eseguire la manutenzione su tabelle di database come la riparazione, l'ottimizzazione e l'analisi delle tabelle.
Directory dei dati:
La directory dei dati contiene i dati effettivi che vengono archiviati a seguito di operazioni in corso su qualsiasi applicazione / software o server. Include database, tabelle, file di registro, procedure memorizzate, ecc.
- Il percorso predefinito per datadir in Linux è: / var / lib / mysql
- Il percorso predefinito per il datadir in Windows è: C: \ ProgramData \ MySQL \ MySQL Server 5.8
- Il nome del file di configurazione che contiene il percorso per datadir è mysqld.cnf
- cnf è disponibile in /etc/mysql/mysql.conf.d/mysqld.cnf
- È infatti possibile modificare la posizione di archiviazione per il datadir nel caso in cui qualcuno esaurisca lo spazio assegnato. Si prega di leggere l'articolo di seguito che spiega meravigliosamente come può essere raggiunto:
https://www.digitalocean.com/community/tutorials/how-to-move-a-mysql-data-directory-to-a-new-location-on-ubuntu-16-04
Motore di archiviazione:
Un motore di archiviazione è un modulo software utilizzato da RDBMS per eseguire operazioni CRUD (Crea, leggi, aggiorna ed elimina).
I motori di archiviazione sono di due tipi in MySQL:
- transazionale
- Non transazionali
La differenza principale tra il motore di archiviazione transazionale e non transazionale è che le tabelle transazionali registreranno tutte le operazioni del database in un file di registro, quindi anche se MySQL si arresta in modo anomalo, è ancora possibile recuperare i dati mentre ciò non è il caso dei motori non transazionali. Tuttavia, per sottolineare, i motori non transazionali sono molto più veloci e hanno anche requisiti di spazio su disco inferiori. Di seguito sono riportati alcuni dei motori di archiviazione utilizzati da MySQL, il più utilizzato tra questi è InnoDB.
Motori di archiviazione supportati da MySQL:
- InnoDB
- MyISAM
- Memoria
- CSV
- Merge
- Archivio
- Federated
- Buco nero
- Esempio
Articoli consigliati
Questa è stata una guida al server MySQL. Qui in questo articolo, abbiamo studiato esempi, vantaggi e architettura di MySQL Server. Puoi anche consultare i seguenti articoli per saperne di più -
- Cheat Sheet MySQL
- Che cos'è il server tableau?
- MySQL vs SQL Server