Come installare MariaDB su Ubuntu 22.04

Introduzione

MariaDB è un sistema di gestione di database relazionali open source, comunemente utilizzato come alternativa a MySQL come parte del database dello stack LAMP (Linux, Apache, MySQL, PHP/Python/Perl) popolare. È pensato per essere un sostituto diretto di MySQL.

La versione breve di questa guida all’installazione consiste in questi tre passaggi:

  • Aggiornare l’indice dei pacchetti usando apt
  • Installare il pacchetto mariadb-server usando apt. Il pacchetto include anche strumenti correlati per interagire con MariaDB
  • Eseguire lo script di sicurezza incluso mysql_secure_installation per limitare l’accesso al server
  1. sudo apt update
  2. sudo apt install mariadb-server
  3. sudo mysql_secure_installation

Questo tutorial spiegherà come installare MariaDB su un server Ubuntu 22.04 e verificare che sia in esecuzione e abbia una configurazione iniziale sicura.

Prerequisiti

Passaggio 1 — Installazione di MariaDB

Alla data di questa scrittura, i repository APT predefiniti di Ubuntu 22.04 includono MariaDB versione 10.5.12.

Per installarlo, aggiorna l’indice dei pacchetti sul tuo server con apt:

  1. sudo apt update

Quindi installa il pacchetto:

  1. sudo apt install mariadb-server

Questi comandi installeranno MariaDB, ma non ti chiederanno di impostare una password o apportare altre modifiche di configurazione. Poiché la configurazione predefinita lascia la tua installazione di MariaDB non sicura, utilizzerai uno script fornito dal pacchetto mariadb-server per limitare l’accesso al server e rimuovere gli account non utilizzati.

Passaggio 2 — Configurazione di MariaDB

Per le nuove installazioni di MariaDB, il passaggio successivo è eseguire lo script di sicurezza incluso. Questo script cambia alcune delle opzioni predefinite meno sicure per cose come l’accesso remoto root e gli utenti di esempio.

Esegui lo script di sicurezza:

  1. sudo mysql_secure_installation

Questo ti guiderà attraverso una serie di promemoria dove puoi apportare alcune modifiche alle opzioni di sicurezza dell’installazione di MariaDB. Il primo promemoria ti chiederà di inserire la password corrente del database root. Poiché non l’hai ancora impostata, premi INVIO per indicare “nessuna”.

Output
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, you'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):

Ti verrà chiesto se desideri passare all’autenticazione tramite socket Unix. Poiché hai già un account root protetto, puoi saltare questo passaggio. Digita n e poi premi INVIO.

Output
. . . Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] n

Il promemoria successivo ti chiede se desideri impostare una password per l’account root del database. Su Ubuntu, l’account root per MariaDB è strettamente legato alla manutenzione automatica del sistema, quindi non dovresti cambiare i metodi di autenticazione configurati per quell’account.

Farlo potrebbe rendere possibile che un aggiornamento del pacchetto danneggi il sistema di database rimuovendo l’accesso all’account amministrativo. Digita n e poi premi INVIO.

Output
. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] n

In seguito, esaminerai come configurare un account amministrativo aggiuntivo per l’accesso tramite password se l’autenticazione tramite socket non è appropriata per il tuo caso d’uso.

A partire da lì, puoi premere S e poi INVIO per accettare i valori predefiniti per tutte le domande successive. Questo rimuoverà alcuni utenti anonimi e il database di test, disabiliterà i login root remoti e caricherà queste nuove regole in modo che MariaDB implementi immediatamente le modifiche apportate.

Con questo, hai completato la configurazione di sicurezza iniziale di MariaDB. Il prossimo passo è opzionale, anche se dovresti seguirlo se preferisci autenticarti al tuo server MariaDB con una password.

Passaggio 3 — (Opzionale) Creare un Utente Amministrativo che Utilizza l’Autenticazione a Password

Sui sistemi Ubuntu che eseguono MariaDB 10.5, l’utente MariaDB root è impostato per autenticarsi utilizzando il plugin unix_socket di default anziché con una password. Questo consente una maggiore sicurezza e usabilità in molti casi, ma può anche complicare le cose quando è necessario consentire a un programma esterno (ad esempio, phpMyAdmin) i diritti amministrativi.

Poiché il server utilizza l’account root per compiti come la rotazione dei log e l’avvio e l’arresto del server, è meglio non modificare i dettagli di autenticazione dell’account root. Modificare le credenziali nel file di configurazione /etc/mysql/debian.cnf potrebbe funzionare inizialmente, ma gli aggiornamenti del pacchetto potrebbero sovrascrivere tali modifiche. Invece di modificare l’account root, i manutentori del pacchetto raccomandano di creare un account amministrativo separato per l’accesso basato su password.

A tal fine, creeremo un nuovo account chiamato admin con le stesse capacità dell’account root, ma configurato per l’autenticazione tramite password. Apri il prompt di MariaDB dal tuo terminale:

  1. sudo mariadb

Quindi crea un nuovo utente con privilegi root e accesso basato su password. Assicurati di cambiare il nome utente e la password per corrispondere alle tue preferenze:

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Aggiorna i privilegi per assicurarti che siano salvati e disponibili nella sessione corrente:

  1. FLUSH PRIVILEGES;

Dopo questo, esci dalla shell di MariaDB:

  1. exit

Infine, testiamo l’installazione di MariaDB.

Passaggio 4 — Testing MariaDB

Quando installato dai repository predefiniti, MariaDB partirà in esecuzione automaticamente. Per testarlo, controlla il suo stato.

  1. sudo systemctl status mariadb

Riceverai un output simile al seguente:

Output
● mariadb.service - MariaDB 10.5.12 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ . . .

Se MariaDB non è in esecuzione, puoi avviarla con il comando sudo systemctl start mariadb.

Per un controllo aggiuntivo, puoi provare a connetterti al database usando lo strumento mysqladmin, che è un client che ti consente di eseguire comandi amministrativi. Ad esempio, questo comando dice di connettersi a MariaDB come root usando il socket Unix e restituire la versione:

  1. sudo mysqladmin version

Riceverai un output simile a questo:

Output
mysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.5.12-MariaDB-1build1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /run/mysqld/mysqld.sock Uptime: 15 min 53 sec Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505

Conclusione

In questa guida hai installato il sistema di gestione di database relazionale MariaDB e lo hai protetto utilizzando lo script mysql_secure_installation con cui è stato installato. Avevi anche l’opzione di creare un nuovo utente amministrativo che utilizza l’autenticazione della password prima di testare la funzionalità del server MariaDB.

Ora che hai un server MariaDB in esecuzione e sicuro, ecco alcuni esempi di passaggi successivi che puoi compiere per lavorare con il server:

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-22-04