- 1 1. Che cos’è MariaDB?
- 2 2. Preparazione prima dell’installazione
- 3 3. Passaggi di installazione per le principali distribuzioni
- 4 4. Configurazione del set di caratteri
- 5 5. Configurazione della sicurezza
- 6 6. Verifica
- 7 7. FAQ (Domande Frequenti)
- 7.1 Q1. Come posso verificare la versione di MariaDB?
- 7.2 Q2. Cosa devo fare se vedo “Package not found” durante l’installazione?
- 7.3 Q3. Come disinstallare MariaDB?
- 7.4 Q4. Come eseguire il backup e il ripristino di un database?
- 7.5 Q5. Perché non riesco a connettermi a MariaDB dall’esterno del server?
1. Che cos’è MariaDB?
Panoramica e caratteristiche principali di MariaDB
MariaDB è un sistema di gestione di database relazionali (RDBMS) open source. È sviluppato sulla base di MySQL ed è ampiamente adottato in molti sistemi e applicazioni grazie alla sua elevata compatibilità.
In origine, dopo che MySQL è stato acquisito da Oracle, alcuni dei suoi sviluppatori si sono separati e hanno avviato il progetto MariaDB. Di conseguenza, MariaDB mantiene un set di comandi e strutture dati simili a MySQL, ponendo però l’accento sull’apertura e sulla trasparenza del suo design.
MariaDB è gratuito e supporta un’ampia gamma di utilizzi sia commerciali che non commerciali. In particolare, ha una solida reputazione negli ambienti server Linux ed è molto apprezzato per stabilità, prestazioni e sicurezza.
Differenze rispetto a MySQL
MariaDB e MySQL sono molto simili, e molti comandi e file di configurazione possono essere usati così come sono. Tuttavia, esistono diverse differenze importanti.
- Differenze di licenza Poiché MySQL è sviluppato e gestito da Oracle, potrebbero applicarsi restrizioni di licenza in alcuni scenari di utilizzo commerciale. MariaDB, invece, è basato sulla GPL (GNU General Public License), consentendo un uso più flessibile.
- Velocità di sviluppo e approccio guidato dalla community MariaDB è sviluppato attivamente in modo comunitario e tende a introdurre nuove funzionalità più rapidamente. È particolarmente forte nelle funzionalità orientate all’impresa (come le opzioni dei motori di archiviazione e le ottimizzazioni delle prestazioni).
- Estensibilità e compatibilità MariaDB mantiene un’elevata compatibilità con MySQL offrendo al contempo i propri motori di archiviazione (come Aria e ColumnStore), consentendo operazioni flessibili a seconda del caso d’uso. Tuttavia, con l’evoluzione delle versioni, possono emergere differenze di compatibilità, perciò è necessario prestare attenzione durante le migrazioni.
Vantaggi della scelta di MariaDB
Quando si distribuisce un database in un ambiente Linux, MariaDB offre i seguenti vantaggi:
- Installazione semplice con una configurazione minimale
- Prestazioni leggere e veloci
- Scalabilità in grado di gestire l’elaborazione di grandi volumi di dati
- Operatività stabile nel lungo periodo
- Ampia conoscenza e risorse di supporto da parte di sviluppatori di tutto il mondo
Per questi motivi, MariaDB è scelto in una vasta gamma di ambienti, dai setup di sviluppo personale ai sistemi di produzione aziendali.
2. Preparazione prima dell’installazione
Prima di installare MariaDB in un ambiente Linux, è necessario verificare diversi punti e completare le operazioni di preparazione. Saltare questa fase può causare problemi in seguito, quindi una preparazione anticipata è molto importante.
Verifica dei requisiti di sistema
MariaDB è un database leggero e veloce, ma ha comunque requisiti minimi di sistema. Di seguito sono riportate linee guida generali (che variano a seconda della versione e dell’uso previsto):
- OS : Distribuzioni Linux come Ubuntu, Debian, CentOS e RHEL
- CPU : 1 GHz o superiore (multi‑core consigliato)
- Memoria : 512 MB o più (consigliato 1 GB o più)
- Spazio di archiviazione : 1 GB o più di spazio libero (da adeguare in base al volume dei dati)
- Rete : Connessione Internet necessaria per scaricare i pacchetti e applicare gli aggiornamenti
Nota che su distribuzioni Linux più vecchie le versioni più recenti di MariaDB potrebbero non essere supportate. Controlla la versione della tua distribuzione Linux e, se necessario, aggiungi repository o esegui altre operazioni di conseguenza.
Verifica e aggiornamento dei pacchetti richiesti
Per installare MariaDB, di solito si utilizza il gestore di pacchetti standard del sistema operativo (come APT o YUM). Aggiornare il sistema in anticipo aiuta a evitare problemi di dipendenze.
Ecco un esempio per Ubuntu/Debian:
sudo apt update
sudo apt upgrade -y
Su CentOS/RHEL, esegui quanto segue:
sudo yum update -y
Inoltre, verifica che i seguenti pacchetti siano installati (installali se mancanti):
curl: Usato quando si aggiunge il repository MariaDBgnupg: Usato per verificare le chiavi di firmasoftware-properties-common(principalmente per Ubuntu): Necessario per gestire i PPA. Non sempre necessario su Debian.
Considerare l’uso del repository ufficiale MariaDB
In molte distribuzioni Linux, MariaDB è incluso nei repository di pacchetti predefiniti, ma la versione fornita può essere più vecchia.
Se desideri utilizzare sempre l’ultima versione stabile, puoi aggiungere il repository ufficiale MariaDB. La sezione successiva introduce i passaggi specifici per il sistema operativo, ma decidere in anticipo quale versione utilizzare renderà l’installazione più fluida.
3. Passaggi di installazione per le principali distribuzioni
MariaDB è disponibile su molte distribuzioni Linux, ma i metodi di installazione differiscono leggermente. In questa sezione, illustreremo i passaggi di installazione dettagliati per tre distribuzioni rappresentative: Ubuntu, CentOS e Debian.
Installare MariaDB su Ubuntu
Su Ubuntu, si installa MariaDB usando il gestore di pacchetti APT. Questa sezione è rivolta a Ubuntu 20.04 / 22.04 LTS.
1. Aggiorna l’elenco dei pacchetti
sudo apt update
2. Installa MariaDB
sudo apt install mariadb-server -y
Questo comando installa automaticamente MariaDB e i pacchetti di dipendenza richiesti.
3. Avvia e abilita il servizio
sudo systemctl start mariadb
sudo systemctl enable mariadb
4. Verifica che sia in esecuzione
sudo systemctl status mariadb
Se vedi “active (running)”, è stato avviato correttamente.
Installare MariaDB su CentOS
Su CentOS 7 e CentOS Stream 8, si utilizza YUM o dnf. Poiché i repository predefiniti spesso forniscono versioni più vecchie, è comune aggiungere il repository ufficiale.
1. Aggiungi il repository ufficiale (esempio: MariaDB 10.6)
sudo vi /etc/yum.repos.d/MariaDB.repo
Incolla quanto segue e salva:
[mariadb]
name = MariaDB
baseurl = https://downloads.mariadb.com/MariaDB/mariadb-10.6/yum/centos7-amd64
gpgkey=https://downloads.mariadb.com/MariaDB/MariaDB-Server-GPG-KEY
gpgcheck=1
*Regola la versione e le impostazioni del sistema operativo secondo le necessità del tuo ambiente.
2. Installa i pacchetti
sudo yum install mariadb-server -y
Oppure su CentOS Stream 8 e versioni successive:
sudo dnf install mariadb-server -y
3. Avvia e abilita il servizio
sudo systemctl start mariadb
sudo systemctl enable mariadb
Installare MariaDB su Debian
Debian utilizza anche APT, ma usando il repository ufficiale MariaDB invece dei repository predefiniti, è possibile installare l’ultima versione stabile.
1. Installa i pacchetti di dipendenza
sudo apt install curl software-properties-common gnupg -y
2. Aggiungi il repository MariaDB (esempio: Debian 11 “Bullseye”)
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
3. Installa
sudo apt update
sudo apt install mariadb-server -y
4. Avvia e abilita il servizio
sudo systemctl start mariadb
sudo systemctl enable mariadb

4. Configurazione del set di caratteri
Uno dei punti più importanti quando si utilizza MariaDB in un ambiente giapponese è la configurazione del set di caratteri (encoding). Poiché il giapponese include caratteri multibyte, avviare l’operazione con impostazioni errate può causare problemi come testo illeggibile o corruzione dei dati.
Set di caratteri consigliato per ambienti giapponesi: UTF-8
Per MariaDB, il set di caratteri consigliato è utf8mb4. È più potente del legacy utf8 e supporta caratteri a 4 byte come le emoji, rendendolo adatto non solo al giapponese ma anche a ambienti multilingue.
Nelle impostazioni predefinite della famiglia MySQL, potresti vedere latin1 o utf8, e lasciarli così può causare problemi. Pertanto, cambia l’impostazione in utf8mb4 subito dopo l’installazione.
Come modificare il file di configurazione (my.cnf)
Il file di configurazione di MariaDB si trova tipicamente in /etc/mysql/my.cnf o /etc/my.cnf. Aggiungi o modifica le sezioni [client] e [mysqld] come mostrato di seguito.
[client]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
Dopo aver modificato le impostazioni, riavvia MariaDB per applicarle:
sudo systemctl restart mariadb
Verifica che le impostazioni siano state applicate
Connettiti a MariaDB e conferma che le impostazioni siano state applicate.
sudo mariadb
Dopo la connessione, esegui il seguente comando:
SHOW VARIABLES LIKE 'character\_set%';
Esempio di output previsto:
character_set_client utf8mb4
character_set_connection utf8mb4
character_set_database utf8mb4
character_set_results utf8mb4
character_set_server utf8mb4
Se appare così, la configurazione del set di caratteri è stata applicata correttamente.
Nota: Set di caratteri per dati esistenti
Se hai già database o tabelle esistenti, i loro set di caratteri non cambieranno automaticamente. Se necessario, devi modificarli individualmente con una istruzione ALTER come la seguente:
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
Allo stesso modo, puoi modificare le impostazioni a livello di tabella o colonna.
5. Configurazione della sicurezza
Subito dopo l’installazione di MariaDB, la sicurezza non è completamente rafforzata. Applicando impostazioni di sicurezza minime essenziali prima dell’uso in produzione, puoi ridurre il rischio di accessi non autorizzati e perdite di dati. Questa sezione introduce i passaggi base per la configurazione della sicurezza di MariaDB.
Esegui mysql_secure_installation
MariaDB fornisce uno script di hardening della sicurezza che dovresti eseguire subito dopo l’installazione: mysql_secure_installation.
Eseguilo con il seguente comando:
sudo mysql_secure_installation
Quando lo esegui, verranno mostrate diverse domande in sequenza. Ecco cosa significa ciascuna opzione.
- Imposta (o aggiorna) la password di root → Imposta una password per l’utente amministratore di MariaDB “root”. Usa una password robusta.
- Rimuovi gli utenti anonimi → Per impostazione predefinita, potrebbe esistere un utente “anonimo”. Questo è inutile e rischioso, quindi si consiglia la rimozione.
- Disabilita l’accesso remoto di root → Consentire l’accesso root direttamente da reti esterne è estremamente pericoloso. Nella maggior parte dei casi, impostalo su disabilitato.
- Rimuovi il database di test → Il database “test” creato per i test è anche inutile in molti casi. Si consiglia la rimozione.
- Ricarica le tabelle dei privilegi → Questo applica immediatamente le modifiche sopra. Conferma con “Sì”.
Rispondere a tutte queste domande rafforza significativamente la sicurezza di MariaDB nel suo stato iniziale predefinito.
Configurazione del firewall (se necessario)
MariaDB comunica tipicamente sulla porta 3306. Se aprire questa porta dipende da come intendi utilizzare il sistema.
- Quando lo usi localmente o su un server autonomo → Puoi tenere la porta 3306 chiusa.
- Quando consenti l’accesso esterno (ad esempio, collegandoti da un’app su un altro server) → Apri l’accesso solo per gli indirizzi IP richiesti.
Esempio: Limitare l’accesso con UFW su Ubuntu
sudo ufw allow from 192.168.0.10 to any port 3306
Crea un utente diverso da root (consigliato)
In produzione, è buona pratica creare e utilizzare un account utente dedicato invece dell’utente amministratore “root”. Ecco un esempio:
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'secure_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
Utilizzare utenti separati per ogni applicazione aiuta a ridurre l’impatto in caso le credenziali vengano compromesse.
6. Verifica
Dopo aver installato MariaDB, completato la configurazione iniziale e applicato le misure di sicurezza, l’ultimo passo è verificare che tutto funzioni correttamente. Questa sezione spiega come confermare la connettività ed eseguire comandi SQL di base.
Connettersi a MariaDB
Dopo l’installazione, verifica di poter connetterti a MariaDB con il seguente comando:
sudo mariadb
Oppure, se vuoi specificare l’utente e fornire una password:
mariadb -u root -p
Quando richiesto, inserisci la password che hai impostato con mysql_secure_installation.
Se l’accesso ha successo, vedrai un prompt simile al seguente:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.6.16-MariaDB MariaDB Server
Se vedi questo, MariaDB è in esecuzione correttamente e puoi connetterti con successo.
Crea un Database
Successivamente, come semplice test, crea un database.
CREATE DATABASE testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Se viene eseguito con successo, il database è stato creato senza problemi.
Controlla l’elenco dei database che possiedi:
SHOW DATABASES;
Se appare testdb, ha funzionato.
Crea una Tabella e Inserisci Dati
Crea una tabella di prova e inserisci alcuni dati.
USE testdb;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100)
);
INSERT INTO users (name, email) VALUES ('田中太郎', 'taro-tanaka@example.com');
※Questo esempio verifica che il testo multibyte (giapponese) sia memorizzato correttamente usando utf8mb4.
Recupera Dati
Per confermare i dati inseriti, esegui la seguente query.
SELECT * FROM users;
Se l’output mostra le informazioni per Taro Tanaka, puoi concludere che il database funziona correttamente.
Controlla le Informazioni del Server
Se vuoi controllare informazioni di base come la versione di MariaDB, esegui il seguente comando:
STATUS;
Questo mostra dettagli come lo stato della connessione, la versione del server e la configurazione del set di caratteri.
7. FAQ (Domande Frequenti)
Quando si installa e si utilizza MariaDB in un ambiente Linux, molte persone incontrano domande o problemi comuni. Conoscere in anticipo come gestirli può essere rassicurante. Qui abbiamo riassunto i punti più ricercati in un formato FAQ per utenti da principianti a intermedi.
Q1. Come posso verificare la versione di MariaDB?
Dopo esserti connesso a MariaDB, puoi verificarla eseguendo il seguente comando.
SELECT VERSION();
Oppure, puoi controllare direttamente dalla riga di comando così:
mariadb --version
Esempio di output:
mariadb Ver 15.1 Distrib 10.6.16-MariaDB, for Linux (x86_64)
Q2. Cosa devo fare se vedo “Package not found” durante l’installazione?
Controlla quanto segue:
- L’elenco dei pacchetti non è aggiornato → Esegui
sudo apt updateosudo yum update, poi riprova - Il repository ufficiale di MariaDB non è stato aggiunto correttamente → Controlla i file di configurazione del repository (come
/etc/apt/sources.list.d/o/etc/yum.repos.d/) - La tua distribuzione e la versione di MariaDB non sono compatibili → Verifica nuovamente le versioni supportate nella pagina di download ufficiale di MariaDB
Q3. Come disinstallare MariaDB?
Per Ubuntu/Debian:
sudo apt remove --purge mariadb-server mariadb-client -y
sudo apt autoremove -y
Per CentOS/RHEL:
sudo yum remove mariadb-server -y
Dopo ciò, se vuoi anche rimuovere i file di dati e di configurazione, esegui il seguente comando:
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf /etc/mysql
*Se hai dati importanti, assicurati di eseguirne il backup prima di cancellare qualsiasi cosa.
Q4. Come eseguire il backup e il ripristino di un database?
Backup (crea un file di dump):
mysqldump -u root -p your_database > backup.sql
Ripristino:
mysql -u root -p your_database < backup.sql
Questo metodo è semplice e comune, ed è molto utile per migrazioni di MariaDB e per il recupero in caso di disastri.
Q5. Perché non riesco a connettermi a MariaDB dall’esterno del server?
Possibili cause includono:
bind-addressè impostato su127.0.0.1→ In/etc/mysql/my.cnfo/etc/my.cnf, cambialo inbind-address = 0.0.0.0(fai attenzione alla sicurezza)- La porta 3306 è bloccata dal firewall → Apri la porta con qualcosa come
sudo ufw allow 3306 - L’utente non è autorizzato per connessioni remote → Devi creare un utente nella forma
user@'%'


