Come installare MySQL su Ubuntu 16.04
Introduzione
MySQL è un sistema di gestione di database open-source, comunemente installato come parte del popolare stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl). Utilizza un database relazionale e SQL (Structured Query Language) per gestire i suoi dati.
La versione breve dell’installazione è semplice: aggiornare l’indice dei pacchetti, installare il pacchetto mysql-server
, e quindi eseguire lo script di sicurezza incluso.
- sudo apt-get update
- sudo apt-get install mysql-server
- mysql_secure_installation
Questo tutorial spiegherà come installare MySQL versione 5.7 su un server Ubuntu 16.04. Tuttavia, se stai cercando di aggiornare un’installazione esistente di MySQL alla versione 5.7, puoi leggere invece questa guida all’aggiornamento di MySQL 5.7.
Prequisiti
Per seguire questo tutorial, avrai bisogno di:
- Un server Ubuntu 16.04 impostato seguendo questa guida iniziale di configurazione del server, compreso un utente non root sudo e un firewall.
Step 1 – Installazione di MySQL
Su Ubuntu 16.04, solo l’ultima versione di MySQL è inclusa nel repository dei pacchetti APT per impostazione predefinita. Al momento in cui scrivo, è MySQL 5.7
Per installarlo, aggiorna semplicemente l’indice dei pacchetti sul tuo server e installa il pacchetto di default con apt-get
.
- sudo apt-get update
- sudo apt-get install mysql-server
Ti verrà richiesto di creare una password di root durante l’installazione. Sceglietene una sicura e assicuratevi di ricordarla, perché ne avrete bisogno in seguito. Successivamente, finiremo di configurare MySQL.
Step 2 – Configurare MySQL
Per le nuove installazioni, vorrete eseguire lo script di sicurezza incluso. Questo cambia alcune delle opzioni predefinite meno sicure per cose come i login di root remoto e gli utenti campione. Nelle vecchie versioni di MySQL, era necessario inizializzare manualmente anche la directory dei dati, ma ora questo viene fatto automaticamente.
Esegui lo script di sicurezza.
- mysql_secure_installation
Questo ti chiederà la password di root che hai creato nel passo 1. Potete premere Y
e poi ENTER
per accettare i valori predefiniti per tutte le domande successive, ad eccezione di quella che chiede se volete cambiare la password di root. L’hai appena impostata nel passo 1, quindi non devi cambiarla ora. Per una spiegazione più dettagliata di queste opzioni, puoi vedere questo passo del tutorial sull’installazione LAMP.
Per inizializzare la directory dei dati MySQL, dovresti usare mysql_install_db
per le versioni precedenti alla 5.7.6, e mysqld --initialize
per la 5.7.6 e successive. Tuttavia, se hai installato MySQL dalla distribuzione Debian, come nel passo 1, la directory dei dati è stata inizializzata automaticamente; non devi fare nulla. Se provi ad eseguire comunque il comando, vedrai il seguente errore:
2016-03-07T20:11:15.998193Z 0 --initialize specified but the data directory has files in it. Aborting.
Finalmente, testiamo l’installazione di MySQL.
Step 3 – Testing MySQL
Indipendentemente da come lo hai installato, MySQL dovrebbe essere stato avviato automaticamente. Per verificarlo, controlla il suo stato.
- systemctl status mysql.service
Vedrai un output simile al seguente:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Wed 2016-11-23 21:21:25 UTC; 30min ago Main PID: 3754 (mysqld) Tasks: 28 Memory: 142.3M CPU: 1.994s CGroup: /system.slice/mysql.service └─3754 /usr/sbin/mysqld
Se MySQL non è in esecuzione, puoi avviarlo con sudo systemctl start mysql
.
Per un ulteriore controllo, si può provare a connettersi al database utilizzando lo strumento mysqladmin
, che è un client che permette di eseguire comandi amministrativi. Per esempio, questo comando dice di connettersi a MySQL come root (-u root
), richiede una password (-p
), e restituisce la versione.
- mysqladmin -p -u root version
Dovreste vedere un output simile a questo:
mysqladmin Ver 8.42 Distrib 5.7.16, for Linux on x86_64Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Server version 5.7.16-0ubuntu0.16.04.1Protocol version 10Connection Localhost via UNIX socketUNIX socket /var/run/mysqld/mysqld.sockUptime: 30 min 54 secThreads: 1 Questions: 12 Slow queries: 0 Opens: 115 Flush tables: 1 Open tables: 34 Queries per second avg: 0.006
Questo significa che MySQL è attivo e funzionante.
Conclusione
Ora avete una configurazione base di MySQL installata sul vostro server. Ecco alcuni esempi di passi successivi che potete fare:
- Implementare alcune misure di sicurezza aggiuntive
- Relocalizzare la directory dei dati
- Gestire i vostri server MySQL con SaltStack
- Imparare di più sui comandi MySQL