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
usandoapt
. 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
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
- Per seguire questo tutorial, avrai bisogno di un server in esecuzione su Ubuntu 22.04. Questo server dovrebbe avere un utente amministrativo non root e un firewall configurato con UFW. Impostalo seguendo la nostra guida iniziale alla configurazione del server per Ubuntu 22.04.
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
:
Quindi installa il pacchetto:
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:
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”.
OutputNOTE: 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:
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:
Aggiorna i privilegi per assicurarti che siano salvati e disponibili nella sessione corrente:
Dopo questo, esci dalla shell di MariaDB:
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.
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:
Riceverai un output simile a questo:
Outputmysqladmin 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