Ricerca nel sito web

Cos'è MySQL? Come funziona MySQL?


MySQL è il sistema di gestione di database relazionali open source di livello aziendale più famoso al mondo (RDBMS) utilizzato da Facebook, Google, Adobe, Alcatel Lucent e Zappos, e da molti siti Web/applicazioni online.

È sviluppato, distribuito e supportato da Oracle Corporation. È un database relazionale multipiattaforma, potente, flessibile ed estensibile basato sul linguaggio standardizzato SQL (Structured Query Language) utilizzato per creare e manipolare database.

L'ultima versione di MySQL (versione 8.0 al momento in cui scrivo) include il supporto per NoSQL ("Not Only SQL ") database di documenti. Può essere installato su Linux, macOS e altri sistemi operativi simili a UNIX e Windows.

Scarica MySQL

  • Scarica MySQL Community Edition
  • Scarica MySQL Enterprise Edition

Il software del database MySQL è open source, utilizza la GPL (GNU General Public License). È importante sottolineare che è offerto in due diverse edizioni: la versione open source MySQL Community Server che puoi scaricare, accedere al codice sorgente e utilizzare gratuitamente e la versione proprietaria MySQL Enterprise. edition e altri prodotti commerciali che richiedono un abbonamento annuale e includono supporto professionale e molti altri vantaggi.

MySQL viene utilizzato per un'ampia gamma di scopi, tra cui database Web (l'uso più comune), data warehousing, commercio elettronico e applicazioni di registrazione. È uno dei software comunemente installati per configurare un LAMP (Linux + Apache + MySQL + PHP) o LEMP (Linux + Engine-X + MySQL + PHP ) stack utilizzato per lo sviluppo web e l'hosting di sistemi di gestione dei contenuti online come WordPress, Magneto, Joomla, Drupal< e molti altri. Oltre a PHP, supporta anche molti altri linguaggi tra cui Perl, Node.js, Python e così via.

Dai un'occhiata a queste guide correlate alla configurazione della tua applicazione con il database MySQL su Linux.

  • Come installare LAMP Server su CentOS 8
  • Come installare il server LEMP su CentOS 8
  • Come installare LAMP Stack con PhpMyAdmin in Ubuntu 20.04
  • Come installare lo stack LEMP con PhpMyAdmin in Ubuntu 20.04
  • Come installare WordPress con Apache in Ubuntu 20.04

Come funziona MySQL?

Come la maggior parte dei sistemi di gestione di database disponibili, MySQL ha un'architettura client-server e può essere utilizzato in un ambiente di rete. Il programma server risiede sullo stesso sistema fisico o virtuale in cui sono archiviati i file del database ed è responsabile di tutte le interazioni con i database.

Vari programmi client come gli strumenti MySQL per l'amministrazione del database o qualsiasi applicazione scritta in altri linguaggi di programmazione, possono connettersi al server ed effettuare richieste al database. Il server elabora le richieste del client e restituisce i risultati al client.

Un client può risiedere sullo stesso sistema del server o su un host remoto e inviare richieste di database tramite una rete o una connessione Internet al server. È importante sottolineare che il server MySQL deve essere in esecuzione affinché i client possano connettersi ad esso.

Caratteristiche principali di MySQL

MySQL utilizza un design server multistrato con moduli indipendenti. Il server è multi-thread, multiutente, scalabile e progettato in modo robusto per sistemi di produzione mission-critical e con carichi pesanti. Fornisce motori di archiviazione sia transazionali che non transazionali e supporta l'aggiunta di altri motori di archiviazione.

  • MySQL utilizza tabelle B-tree molto veloci con compressione dell'indice, un sistema di allocazione della memoria basato su thread molto veloce ed esegue join molto veloci utilizzando join a ciclo annidato ottimizzati.
  • Supporta molti tipi di dati come numeri interi con segno/senza segno, tipi a virgola mobile (float e double), char e varchar, binario e varbinary, blob e testo, data, data e ora e timestamp, anno, set, enum e spaziali OpenGIS tipi.
  • MySQL supporta inoltre la ridondanza dei dati e l'alta disponibilità (HA) tramite replica master-slave, clustering multinodo e backup e ripristino/ripristino. Offre un'ampia gamma di tipi e strategie di backup tra cui è possibile scegliere i metodi che meglio si adattano ai requisiti della propria distribuzione.
  • Le sue funzionalità di sicurezza includono la gestione degli account utente e il controllo degli accessi, verifica basata su host, connessioni crittografate, diversi componenti e plug-in (come plug-in di autenticazione, plug-in di controllo della connessione, componente di convalida della password e molti altri) che implementano la sicurezza, nonché FIPS (Federal Information Processing Standards 140-2 (FIPS 140-2)) sul lato server che si applica alle operazioni crittografiche eseguite dal server.

Inoltre, puoi anche garantire una sicurezza aggiuntiva seguendo le migliori pratiche di sicurezza MySQL/MariaDB per Linux. Ma come sempre, assicurati di aver implementato una buona sicurezza della rete e del server, per garantire la sicurezza completa del server database.

Client e strumenti MySQL

MySQL viene fornito con diversi programmi client come le popolari utilità della riga di comando: mysql, mysqladmin e mysqldump, per l'amministrazione dei database. Per connettersi al server MySQL, i client possono utilizzare diversi protocolli, ad esempio socket TCP/IP su qualsiasi piattaforma o socket di dominio UNIX su sistemi UNIX come Linux.

Per connettere ed eseguire istruzioni MySQL da un altro linguaggio o ambiente, sono disponibili connettori MySQL basati su standard (che forniscono connettività al server MySQL per le applicazioni client) e API per i linguaggi di programmazione più diffusi (per fornire accesso di basso livello alle risorse MySQL utilizzando il classico protocollo MySQL o il protocollo X).

Alcuni dei connettori e delle API più diffusi includono ODBC (Open Database Connectivity), Java (JDBC – Java Database Connectivity), Python, PHP, Node.js, C++, Perl, Ruby e C nativo e istanze MySQL incorporate.

Troverai utili i seguenti articoli su MySQL:

  • Come installare l'ultimo MySQL 8 su Debian 10
  • 15 utili suggerimenti per la regolazione e l'ottimizzazione delle prestazioni di MySQL/MariaDB
  • Suggerimenti utili per risolvere errori comuni in MySQL
  • Come reimpostare la password di root in MySQL 8.0
  • Come modificare la porta MySQL/MariaDB predefinita in Linux
  • 4 utili strumenti da riga di comando per monitorare le prestazioni di MySQL in Linux