MySQL è il popolarissimo database relazionale (RDBMS) gratuito ed open source che, in ambito applicativo/web server, svolge il ruolo di "contenitore" per i dati (account degli utenti, messaggi, blogpost ecc.). In questo articolo vedremo come installare MySQL sul PC o server Linux (Ubuntu o CentOS), per iniziare subito a leggere e scrivere righe e tabelle dall'app che stiamo sviluppando o dal nostro web server con PHP

Guida: come installare MySQL Linux (Ubuntu/CentOS) - mysql logo spotlight

nota: In questo articolo ci concentreremo, nello specifico, sull'installazione di MySQL in ambiente Linux. Per la guida equivalente incentrata su Windows:

» Leggi: La Grande Guida ad Apache, MySQL, PHP

La procedura è stata testata con Ubuntu 17.04 (64 bit) e CentOS 7.3 (64 bit), ma è analoga per tutte le distribuzioni da esse derivate e, presumibilmente, per le iterazioni successive.

Passo 1: Aprire il terminale

Se state lavorando via SSH oppure con una edizione spiccatamente "server" (come Ubuntu Server), siete già davanti alla linea di comando, quindi andate oltre.

Se però state impiegando l'edizione "regolare" per PC, cliccate sul pulsante con i 3x3 punti in basso a sinistra e cercate terminale per lanciare rapidamente l'omonima applicazione

Guida: come installare MySQL Linux (Ubuntu/CentOS) - linux apri terminale

» Leggi anche: Come aprire il terminale di Ubuntu

Passo 2: Diventare root

Dovete ora acquisire i privilegi massimi diventando root. Il comando è:

sudo -s

In caso dovesse esservi richiesta la password, digitate quella dell'account corrente.

» Leggi anche: Linux (Ubuntu) e sudo: come disabilitare la richiesta di password quando si eseguono comandi come root

In alternativa, potete utilizzare il vostro utente "normale" ed anteporre sudo ad ogni comando mostrato di seguito.... ma divenire root immediatamente è molto più comodo.

Passo 3: Disinstallare... MySQL?

Prima di iniziare, è opportuno verificare che MySQL non sia già stato installato, magari per errore. Il modo più efficace di farlo è tramite il gestore dei pacchetti:

  • Con Ubuntu: dpkg --list | grep mysql
  • Con CentOS: rpm -qa | grep mysql

Se il comando non mostra alcuna risposta, possiamo tranquillamente andare oltre perché MySQL non è installato.

In caso contrario, è fondamentale disinstallare il pacchetto corrente:

  • Disinstallare MySQL con Ubuntu: apt-get purge --auto-remove mysql* -y
  • Disinstallare MySQL con CentOS: yum remove mysql* -y

Passo 4: Aggiungere i repository ufficiali di MySQL

Le distribuzioni Linux rendono disponibili nei rispettivi repository i pacchetti per MySQL. Allo stesso tempo, Oracle offre una propria fonte ufficiale che contiene versioni più recenti. Iniziamo dunque impartendo questi comando per "agganciare" il repository MySQL di Oracle:

  • Con Ubuntu: curl -o mysqlrepo https://dev.mysql.com/get/mysql-apt-config_0.8.7-1_all.deb -L && dpkg -i mysqlrepo && rm -f mysqlrepo
  • Con CentOS: curl -o mysqlrepo.rpm https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -L && rpm -Uvh mysqlrepo.rpm -y && rm -f mysqlrepo.rpm

Guida: come installare MySQL Linux (Ubuntu/CentOS)

È bene notare che i nomi dei file includono un numero di versione. In linea di massima, quella indicata dovrebbe funzionare correttamente nel prossimo futuro. Così non fosse, prelevare gli URL aggiornati partendo da queste fonti, quindi sostituirli nel comando appena mostrato:

Passo 5: Scelta della versione da installare

Il pacchetto per Ubuntu (ma non quello per CentOS) avvia una mini-procedura che permette di scegliere la versione di MySQL da installare ed i vari pacchetti opzionali. Generalmente, vorremo solo scegliere Ok in fondo alla lista e premere Invio

Guida: come installare MySQL Linux (Ubuntu/CentOS)

Vale la pena di notare che, scegliendo la prima voce, possiamo decidere di installare una versione non ancora giudicata stabile (la 8.0, al momento in cui scrivo) oppure la declinazione "cluster". Si tratta ovviamente di scelte sensate solo in casi particolari

Guida: come installare MySQL Linux (Ubuntu/CentOS)

La procedura di selezione dalla versione con CentOS è leggermente diversa. Di default viene installata l'ultima release stabile disponibile, ma se vogliamo selezionarne un'altra:

  1. installare il gestore con yum install -y yum-utils
  2. impartire yum repolist all | grep mysql per vedere la lista dei repository di MySQL installati
  3. disabilitare il repo della versione stabile usando, ad esempio yum-config-manager --disable mysql57-community
  4. abilitare il repo della versione desiderata. Ad esempio: yum-config-manager --enable mysql80-community

Passo 6: Installare MySQL

Possiamo ora installare MySQL:

  • Ubuntu: apt-get update && apt-get install mysql-server -y
  • CentOS: yum update && yum install mysql-community-server -y

Passo 7: Impostazione della password di root

La procedura di setup per Ubuntu (ma non quella per CentOS) ci richiede di scegliere una password per l'utente root di MySQL, ovvero l'amministratore onnipotente del database, poi digitarla di nuovo per conferma

Guida: come installare MySQL Linux (Ubuntu/CentOS)

Sotto CentOS, l'operazione è più macchinosa. Dobbiamo innanzitutto avviare il servizio per la prima volta con systemctl start mysqld, quindi leggere la password casuale generata dal sistema tramite:

grep 'temporary password' /var/log/mysqld.log

Guida: come installare MySQL Linux (Ubuntu/CentOS)

Ora lanciamo il comando seguente per connetterci al database:

mysql -u root -p

Quando richiesto, forniamo la password temporanea appena scoperta.

Infine, modifichiamo la password impartendo la seguente query, naturalmente avendo cura di sostituire la nuova password che desideriamo assegnare all'utente root alla stringa di esempio LaMiaNuovaPassword:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'LaMiaNuovaPassword';

Se ricevete l'errore ERROR 1819 (HY000): Your password does not satisfy the current policy requirements, significa che la password scelta non è abbastanza robusta. Usate una combinazione di lettere maiuscole, minuscole e numeri.

Al termine, uscire con exit; ed il cambio di password è completo.

Passo 6: Gestire il servizio

MySQL è ora installato ed attivo, ma è bene ricordare rapidamente i comandi per gestire il servizio:

Per Ubuntu:

  • visualizzazione stato: systemctl status mysql
  • avvio: systemctl start mysql
  • stop: systemctl stop mysql
  • riavvio: systemctl restart mysql

Guida: come installare MySQL Linux (Ubuntu/CentOS)

Per CentOS: i comandi sono gli stessi, ma il servizio si chiama mysqld, con la lettera "d" alla fine. Scriveremo quindi systemctl status mysqld eccetera.

Passo 7: Connettersi con il client MySQL da linea di comando

Per testare immediatamente il database possiamo connetterci tramite linea di comando:

mysql -u root -p

Quando richiesto, fornite la password di root che avete scelto durante l'installazione di MySQL (Passo 7 di questa guida) e sarete "dentro"! Come prima query, ottenete la lista dei database con:

show databases;

Guida: come installare MySQL Linux (Ubuntu/CentOS) - mysql show databases

Potete quindi uscire impartendo exit;.

Passo 8: Installare MySQL Workbench

MySQL Workbench è un ottimo programma grafico per connettersi ai database MySQL. Oltre ad eseguire query SQL e mostrare il risultato in forma tabellare, ci consente di avviare o arrestare il servizio, visualizzare molte informazioni utili e svolgere una lista praticamente infinita di operazioni strutturali, grafiche e di progettazione.

Installiamolo dunque su di un PC dotato di interfaccia grafica:

  • Ubuntu: apt-get update && apt-get install mysql-workbench -y
  • CentOS: il comando dovrebbe essere yum install epel-release mysql-workbench -y, ma non sono riuscito a farlo funzionare causa problemi con le dipendenze
  • Windows: Nulla vieta di installare MySQL Workbench sul nostro PC Windows e connetterci da lì al server MySQL in esecuzione su Linux. Per la guida, fare riferimento a questo articolo: Guida: installare MySQL sul PC Windows

Completato il setup, cerchiamo MySQL Workbench sotto la dash di Ubuntu o il menu di avvio di CentOS e lanciamo l'omonimo programma.

Cliccate sul rettangolo Local instance MySQL per connettervi al servizio locale. Specificate la password di root, spuntate la casella di controllo per salvarla e, dopo aver cliccato OK, dovreste trovarvi davanti al database MySQL locale

Guida: come installare MySQL Linux (Ubuntu/CentOS) - mysql workbench linux

Per maggiori informazioni sull'uso di MySQL Workbench, vi rimando alla guida a MySQL su Windows: il programma funziona esattamente allo stesso modo.