Database · 11 min read · Jan 07, 2026

Installa MariaDB 10.0 su CentOS 6

MariaDB è un fork sviluppato dalla comunità di MySQL e mira a essere un sostituto migliorato e compatibile. È con licenza GNU GPL ed è guidato dagli sviluppatori originali di MySQL come Monty Widenius. MariaDB sembra attivo per ora, ma ha una quota di mercato molto inferiore rispetto a MySQL. A causa del grande slancio che ha avuto MySQL, c’è ancora molta comunità attorno ad esso, ma c’è una chiara tendenza che la maggior parte delle nuove attività nel mondo open source ruotano attorno a MariaDB e la maggior parte delle distribuzioni Linux forniscono MariaDB come database compatibile con MySQL ora. Il seguente tutorial ti guiderà attraverso i passaggi per installare MariaDB 10.0 su CentOS 6. CentOS 6 è troppo vecchio? Sì, è vero, ma CentOS 6 è ancora supportato fino al 2020 con aggiornamenti di sicurezza e ci sono ancora molti server là fuori che lo usano ma potrebbero aver bisogno di un database compatibile con MySQL più recente, ad esempio per ospitare i più recenti sistemi CMS.

Prerequisiti

  1. Queste istruzioni sono destinate all’installazione di MariaDB 10.0 su un singolo nodo CentOS 6 (senza MySQL già installato).
  2. Poiché l’installazione predefinita di MariaDB utilizza la directory /var/lib/mysql per memorizzare i tuoi database, tieni presente che la partizione o il volume logico associato a /var deve avere spazio adeguato.
  3. Backup del file di configurazione (solo sostituzione): Allo stesso modo, è consigliato fare una copia del tuo attuale file di configurazione MySQL/MariaDB se stai sostituendo un’installazione attuale; questo file può essere trovato in /etc/mysql/my.cnf sui sistemi Debian/Ubuntu e /etc/my.cnf sui sistemi CentOS. Su CentOS, il pacchetto MariaDB rimuoverà il file di configurazione quando disinstallato, quindi questo passaggio è particolarmente importante su questi sistemi.
  4. Il resto di questo tutorial presupporrà che tu sia connesso al tuo server con l’account utente root o un account utente con privilegi sudo. Per entrare nella shell di root da un altro account, esegui:
sudo su

Passo 1. ** Configurare il repository di MariaDB

Dovresti assicurarti che i pacchetti disponibili siano aggiornati. Per farlo, esegui semplicemente il seguente comando nel terminale:

yum -y update
Loaded plugins: fastestmirror  
base | 3.6 kB 00:00  
extras | 3.4 kB 00:00  
updates | 3.4 kB 00:00  
(1/4): base/7/x86_64/group_gz | 155 kB 00:00  
(2/4): extras/7/x86_64/primary_db | 101 kB 00:00  
(3/4): updates/7/x86_64/primary_db | 3.1 MB 00:00  
(4/4): base/7/x86_64/primary_db | 5.3 MB 00:04  
Determining fastest mirrors  
 * base: mirror.net.cen.ct.gov  
 * extras: mirror.es.its.nyu.edu  
 * updates: mirror.atlanticmetro.net  
Resolving Dependencies  
--> Running transaction check  
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.2 will be updated  
---> Package openssl.x86_64 1:1.0.1e-51.el7_2.4 will be an update  
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.2 will be updated  
---> Package openssl-libs.x86_64 1:1.0.1e-51.el7_2.4 will be an update  
--> Finished Dependency Resolution  
Dependencies Resolved  
================================================================================  
 Package Arch Version Repository Size  
================================================================================  
Updating:  
 openssl x86_64 1:1.0.1e-51.el7_2.4 updates 711 k  
 openssl-libs x86_64 1:1.0.1e-51.el7_2.4 updates 951 k  
Transaction Summary  
================================================================================  
Upgrade 2 Packages  
Total download size: 1.6 M  
Downloading packages:  
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.  
(1/2): openssl-1.0.1e-51.el7_2.4.x86_64.rpm | 711 kB 00:00  
(2/2): openssl-libs-1.0.1e-51.el7_2.4.x86_64.rpm | 951 kB 00:00  
--------------------------------------------------------------------------------  
Total 2.3 MB/s | 1.6 MB 00:00  
Running transaction check  
Running transaction test  
Transaction test succeeded  
Running transaction  
 Updating : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4  
 Updating : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4  
 Cleanup : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4  
 Cleanup : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4  
 Verifying : 1:openssl-libs-1.0.1e-51.el7_2.4.x86_64 1/4  
 Verifying : 1:openssl-1.0.1e-51.el7_2.4.x86_64 2/4  
 Verifying : 1:openssl-1.0.1e-51.el7_2.2.x86_64 3/4  
 Verifying : 1:openssl-libs-1.0.1e-51.el7_2.2.x86_64 4/4  
Updated:  
 openssl.x86_64 1:1.0.1e-51.el7_2.4 openssl-libs.x86_64 1:1.0.1e-51.el7_2.4  
Complete!

Ora, aggiungi il repository CentOS di MariaDB.

Crea un nuovo file di repository MariaDB /etc/yum.repos.d/mariadb.repo con nano:

nano /etc/yum.repos.d/MariaDB.repo

E incolla il seguente testo per CentOS-6 32 Bit:

[mariadb]  
name = MariaDB  
baseurl = http://yum.mariadb.org/10.0/centos6-x86  
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB  
gpgcheck=1

Oppure incolla questo testo per CentOS-6 64 Bit:

name = MariaDB  
baseurl = http://yum.mariadb.org/10.0/centos6-amd64  
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB  
gpgcheck=1

Poi esci e salva il file premendo Ctrl+X, poi Y.

Come puoi vedere nell’esempio sopra, include una riga gpgkey per recuperare automaticamente la chiave GPG che MariaDB utilizza per firmare i repository. Questa chiave è necessaria per verificare l’integrità dei download dei pacchetti.

Nota: Per scoprire quale repo dovresti usare con il generatore di repository di MariaDB.

Passo 2 – Installare MariaDB 10 con Yum

Rimuovere MySQL (solo quando è installato)

Ti consiglio di rimuovere completamente eventuali vecchie versioni del server MySQL che potrebbero essere installate sul sistema e poi aggiornare a MariaDB senza conflitti.

Per controllare se MySQL è già installato, esegui il comando:

rpm -qa 'mysql*'

Se necessario, puoi rimuovere i pacchetti MySQL trovati prima di installare MariaDB utilizzando i seguenti comandi:

yum list installed | grep mysql
yum remove mysql-client mysql-server mysql-common mysql-devel

E rimuovi i database MySQL:

rm -Rf /var/lib/mysql

Installa MariaDB 10

Per un’installazione standard del server, dovrai scaricare e installare almeno i file RPM client, shared e server.

yum install MariaDB-server MariaDB-client -y

Dovresti vedere un output simile al seguente:

Loaded plugins: fastestmirror  
Loading mirror speeds from cached hostfile  
 * base: mirror.net.cen.ct.gov  
 * extras: mirror.es.its.nyu.edu  
 * updates: mirror.atlanticmetro.net  
Resolving Dependencies  
--> Running transaction check  
---> Package mariadb.x86_64 1:5.5.44-2.el7.centos will be installed  
--> Processing Dependency: perl(Sys::Hostname) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(IPC::Open3) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(Getopt::Long) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(File::Temp) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(Fcntl) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(Exporter) for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: /usr/bin/perl for package: 1:mariadb-5.5.44-2.el7.centos.x86_64  
---> Package mariadb-server.x86_64 1:5.5.44-2.el7.centos will be installed  
--> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(File::Path) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(Data::Dumper) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: libaio.so.1(LIBAIO_0.4)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: libaio.so.1(LIBAIO_0.1)(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
--> Processing Dependency: libaio.so.1()(64bit) for package: 1:mariadb-server-5.5.44-2.el7.centos.x86_64  
[...]  
Installed:  
 mariadb.x86_64 1:5.5.44-2.el7.centos mariadb-server.x86_64 1:5.5.44-2.el7.centos  
Dependency Installed:  
 libaio.x86_64 0:0.3.109-13.el7 perl.x86_64 4:5.16.3-286.el7  
 perl-Carp.noarch 0:1.26-244.el7 perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7  
 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 perl-DBD-MySQL.x86_64 0:4.023-5.el7  
 perl-DBI.x86_64 0:1.627-4.el7 perl-Data-Dumper.x86_64 0:2.145-3.el7  
 perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7  
 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7  
 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-2.el7  
 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-IO-Compress.noarch 0:2.061-2.el7  
 perl-Net-Daemon.noarch 0:0.48-5.el7 perl-PathTools.x86_64 0:3.40-5.el7  
 perl-PlRPC.noarch 0:0.2020-14.el7 perl-Pod-Escapes.noarch 1:1.04-286.el7  
 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7  
 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7  
 perl-Socket.x86_64 0:2.010-3.el7 perl-Storable.x86_64 0:2.45-3.el7  
 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7  
 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7  
 perl-libs.x86_64 4:5.16.3-286.el7 perl-macros.x86_64 4:5.16.3-286.el7  
 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7  
 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7  
Complete!

Quando il processo di installazione è completato, puoi avviare MariaDB. Si prega di notare che il servizio MariaDB è chiamato “mysql”, quindi il comando qui sotto non è un errore.

service mysql start
Starting MySQL. SUCCESS!

Esegui questo comando per avviare MariaDB ad ogni avvio.

chkconfig mysql on

Puoi controllare la versione dell’installazione di MariaDB con il seguente comando:

mysql -V
mysql Ver 15.1 Distrib 10.0.24-MariaDB, for Linux (x86_64) using readline 5.1

Fino a questo punto tutto bene!

Passo 3 – Sicurezza di MariaDB

Per impostazione predefinita, MariaDB non è rinforzato. Puoi mettere in sicurezza MariaDB utilizzando lo script mysql_secure_installation. Dovresti leggere attentamente i passaggi qui sotto, imposteranno la password di root, rimuoveranno gli utenti anonimi, disabiliteranno il login remoto di root e rimuoveranno il database di test e l’accesso per mettere in sicurezza MariaDB. È consigliato che tutti gli amministratori eseguano questo script per assicurarsi che la tua installazione di MySQL sia sicura. Sfortunatamente, lo script è interattivo e richiede la password di root, quindi non può essere facilmente incluso nel processo di build. È consigliato rispondere yes a queste opzioni. Puoi leggere di più sullo script nella Knowledge Base di MariaDB.

Invoca mysql_secure_installation senza argomenti:

mysql_secure_installation

Questo avvierà una procedura che funziona con il metodo domanda-risposta e sarai in grado di applicare alcune personalizzazioni sulla tua installazione di MariaDB. Di seguito è un esempio di cosa accadrà e alcune delle opzioni consigliate che dovresti usare.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB  
 SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

Per accedere a MariaDB per metterlo in sicurezza, avremo bisogno della password attuale per l’utente root. Se hai appena installato MariaDB e non hai ancora impostato la password di root, allora la password predefinita sarà vuota, quindi dovresti semplicemente premere invio qui.

Enter current password for root (enter for none):  
OK, successfully used password, moving on...

Impostare la password di root garantisce che nessuno possa accedere all’utente root di MariaDB senza la corretta autorizzazione.

Set root password? [Y/n] y  
New password: ENTER YOUR PASSWORD  
Re-enter new password: REPEAT YOUR PASSWORD  
Password updated successfully!  
Reloading privilege tables..  
... Success!

Per impostazione predefinita, un’installazione di MariaDB ha un utente anonimo, che consente a chiunque di accedere a MariaDB senza dover avere un account utente creato per loro. Questo è destinato solo per test e per rendere l’installazione un po’ più fluida. Dovresti rimuovere il login anonimo prima di passare a un ambiente di produzione.

Remove anonymous users? [Y/n] y  
... Success!

Normalmente, root dovrebbe essere autorizzato a connettersi solo da ‘localhost’. Questo garantisce che qualcuno non possa indovinare la password di root attraverso la rete.

Disallow root login remotely? [Y/n] y  
... Success!

Per impostazione predefinita, MariaDB viene fornito con un database chiamato ‘test’ a cui chiunque può accedere. Questo è anche destinato solo per test e dovrebbe essere rimosso prima di passare a un ambiente di produzione.

Remove test database and access to it? [Y/n] y  
- Dropping test database...  
... Success!  
- Removing privileges on test database...  
... Success!

Ricaricare le tabelle dei privilegi garantirà che tutte le modifiche apportate finora abbiano effetto immediato.

Reload privilege tables now? [Y/n] y  
... Success!  
Cleaning up...  
All done! If you've completed all of the above steps, your MariaDB installation should now be secure.  
Thanks for using MariaDB!

Ora, devi riavviare MariaDB.

service mysql restart
Shutting down MySQL.. SUCCESS!  
Starting MySQL. SUCCESS!

Questo è tutto. Accedi al server MariaDB e controlla i vecchi database e tabelle (se hai aggiornato da MySQL).

Per connetterti a MariaDB, esegui il comando qui sotto.

mysql -u root -p

In questo caso, ho specificato l’utente root con il flag -u, e poi ho usato il flag -p in modo che MySQL richieda una password.

Quando richiesto, inserisci semplicemente la password che hai assegnato con lo script mysql_secure_installation.

Ti verrà quindi presentata un’intestazione di benvenuto e il prompt di MariaDB.

Per un elenco di comandi di MariaDB, digita help o \ h al prompt:

General information about MariaDB can be found at  
http://mariadb.org  
List of all MySQL commands:  
Note that all text commands must be first on line and end with ';'  
? () Synonym for `help'.  
clear () Clear the current input statement.  
connect (
) Reconnect to the server. Optional arguments are db and host.  
delimiter () Set statement delimiter.  
edit () Edit command with $EDITOR.  
ego () Send command to mysql server, display result vertically.  
exit () Exit mysql. Same as quit.  
go () Send command to mysql server.  
help () Display this help.  
nopager () Disable pager, print to stdout.  
notee () Don't write into outfile.  
pager () Set PAGER [to_pager]. Print the query results via PAGER.  
print () Print current command.  
prompt () Change your mysql prompt.  
quit () Quit mysql.  
rehash () Rebuild completion hash.  
source () Execute an SQL script file. Takes a file name as an argument.  
status () Get status information from the server.  
system () Execute a system shell command.  
tee () Set outfile [to_outfile]. Append everything into given outfile.  
use () Use another database. Takes database name as argument.  
charset () Switch to another charset. Might be needed for processing binlog with multi-byte charsets.  
warnings () Show warnings after every statement.  
nowarning () Don't show warnings after every statement.  
For server side help, type 'help contents'  

Per visualizzare un elenco dei database attuali che hai creato, utilizza il seguente comando:

SHOW DATABASES;
+--------------------+  
| Database |  
+--------------------+  
| information_schema |  
| mysql |  
| performance_schema |  
| test |  
+--------------------+  
4 rows in set (0.01 sec)

I database “information_schema”, “performance_schema” e “mysql” sono impostati per impostazione predefinita e contengono dati di sistema del server MariaDB, queste tabelle dovrebbero essere lasciate sole a meno che tu non sappia cosa stai facendo.

Controlla lo stato del server del database:

status;
mysql Ver 15.1 Distrib 5.5.44-MariaDB, for Linux (x86_64) using readline 5.1  
Connection id: 14  
Current database:  
Current user: root@localhost  
SSL: Not in use  
Current pager: stdout  
Using outfile: ''  
Using delimiter: ;  
Server: MariaDB  
Server version: 5.5.44-MariaDB MariaDB Server  
Protocol version: 10  
Connection: Localhost via UNIX socket  
Server characterset: latin1  
Db characterset: latin1  
Client characterset: utf8  
Conn. characterset: utf8  
UNIX socket: /var/lib/mysql/mysql.sock  
Uptime: 47 min 9 sec  
Threads: 1 Questions: 32 Slow queries: 0 Opens: 4 Flush tables: 2 Open tables: 30 Queries per second avg: 0.011  
--------------  
MariaDB [(none)]>

Creare un database non lo seleziona per l’uso; devi farlo esplicitamente. Per rendere howtoforge il database corrente, usa questa istruzione:

USE howtoforge

Il tuo database deve essere creato solo una volta, ma devi selezionarlo per l’uso ogni volta che inizi una sessione MySQL. Puoi farlo emettendo un’istruzione USE come mostrato nell’esempio. In alternativa, puoi selezionare il database dalla riga di comando quando invochi MySQL. Basta specificare il suo nome dopo eventuali parametri di connessione che potresti dover fornire. Ad esempio:

mysql -h host -u user -p howtoforge

NOTA: Tutti i nomi dei database, i nomi delle tabelle e i nomi dei campi delle tabelle sono case sensitive. Quindi dovresti usare nomi appropriati mentre dai qualsiasi comando SQL.

Per impostazione predefinita, tutte le operazioni MySQL eseguite tramite la riga di comando vengono eseguite sul database attualmente selezionato. Quale database è attualmente selezionato? Per scoprirlo emetti il seguente comando:

SELECT database();

Il tuo risultato potrebbe essere simile a questo:

+------------+  
| database() |  
+------------+  
| NULL |  
+------------+  
1 row in set (0.00 sec)  
MariaDB [(none)]>

Il risultato è null, il che significa che un database non è attualmente selezionato.

Maggiori informazioni seguiranno

Potresti voler consultare le seguenti risorse per ulteriori informazioni su questo argomento. Anche se queste sono fornite nella speranza che siano utili, ti preghiamo di notare che non possiamo garantire l’accuratezza o la tempestività dei materiali ospitati esternamente.

  • Documentazione di MariaDB
  • Manuale di riferimento di MySQL
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.