Installare Mysql su Ubuntu 20.04

  1. Al solito aggiornare la lista pacchetti:
    sudo apt update
  2. Installiamo il server mysql:
    sudo apt install mysql-server
  3. Assicuriamoci che il servizio mysql sia attivo
    sudo systemctl status mysql
  4. Il server mysql ha uno script per migliorare le impostazioni di sicurezza di mysql:
    sudo mysql_secure_installation

    Queste impostazioni di sicurezza vanno dal settaggio della password di root, alla rimozione degli utenti anonimi (y), alla disabilitazione del login root da remoto (y), rimozione del database test (y), aggiornare le nuove regole.

 

(Seconda parte) Accediamo a Mysql e facciamo alcune prove

 

  1. Autentichiamoci tramite root
    sudo mysql -u root -p

     

  2. Vediamo gli utenti esistenti:

    SELECT user, authentication_string, plugin, host FROM mysql.user;

    Vedremo un output simile a questo:

    Dalla versione MySQL 5.7+ l’utente root per questioni di sicurezza si autentica tramite il plugin auth_socket (più sicuro rispetto alla normale password).
    Quindi se vogliamo autenticarci da un programma esterno (es. phpmyadmin) dobbiamo creare un altro utente che si autentica tramite mysql_native_password

    mysql>  CREATE USER 'utentedb'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
    
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'utentedb'@'localhost';
    
    mysql> FLUSH PRIVILEGES;

    Si dovrebbe ricevere un messaggio del genere:

    Query OK, 0 rows affected (0.00 sec)

 

(Terza parte) Installare phpmyadmin

Installiamo un client come phpmyadmin per accedere a mysql ed esplorare i database:

  1. Update e installiamo il pacchetto phpmyadmin
sudo apt update
sudo apt install phpmyadmin

2. Scegliamo apache2 tramite la barra spaziatrice e poi premiamo ok

 

 

 

 

 

 

 

 

 

3. L’installazione ci chiederà di utilizzare il tool dbconfig-common per settare i database.
premere Yes

 

 

 

 

 

 

 

 

 

4.Inserire una password per phpmyadmin

 

 

 

 

 

 

 

Adesso possiamo provare ad accedere in localhost:

 

http://localhost/phpmyadmin

Se invece vogliamo accedere da remoto, bisogna impostare che accediamo tramite mysql_native_password come visto nella seconda parte di questa guida. Inoltre bisogna permettere l’accesso da qualsiasi host in questo modo modificando la colonna host dell’utente da localhost a %:

 

mysql

UPDATE mysql.user SET host='%' WHERE user='utentedb'

 

Con mysql 8 bisogna cambiare anche il bind-address affinchè permetta a tutti di poter accedere.

Nota: tramite ufw conviene per sicurezza fare un filtraggio ip.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

e modificare il bind-address da 127.0.0.1 a 0.0.0.0

bind-address=0.0.0.0

Infine riavviare il servizio mysql

sudo service mysql restart

 

 

 


Precedente Desktop remoto con server ubuntu Successivo Installare Django su Ubuntu Server 20.04