Come aggiornare MariaDB all'ultima versione senza perdere dati Una guida pratica per aggiornare una vecchia versione di MariaDB alla nuova build 10.3.x mantenendo inalterati i database e le tabelle esistenti

Come installare MariaDB 10.x su CentOS 7.x e metterlo in sicurezza per l'utilizzo in produzione
Articolo aggiornato alla versione 10.3.13-GA di MariaDB, rilasciata il 21 febbraio 2019 (leggi le release notes).

Abbiamo già avuto modo di parlare di MariaDB in questo post: per chi non lo conoscesse ancora, si tratta di uno dei database relazionali più popolari al mondo, realizzato dagli sviluppatori originali di MySQL e - a differenza di MySQL stesso - ad oggi ancora completamente open source. Tra le numerose caratteristiche che lo rendono ad oggi preferibile a MySQL vi sono la velocità, l'affidabilità, la sicurezza (come abbiamo sottolineato in questo articolo) e la grande varietà data dal ricchissimo ecosistema di moduli, plugin e altri strumenti resi disponibli dalla sua comunità di sviluppo.

Non molto tempo fa è uscita la versione 10.3 di MariaDB, particolarmente imporante per la notevole quantità di modifiche, miglioramenti e nuove funzionalità introdotte nel software, tra cui spiccano le System-versioned tables e le Sequences. Se vi siete imbattuti in questo post facendo una ricerca su Google, è molto probabile che vogliate aggiornare la vostra versione di MariaDB per poterle utilizzare sul vostro sistema.

Se è così, siete nel posto giusto: In questo articolo vedremo come aggiornare qualsiasi istanza MariaDB 10.0, 10.1 o 10.2 esistente con il nuovo MariaDB 10.3 - nello specifico, la versione 10.3.13-GA, rilasciata il 21 febbraio 2019 e attualmente l'ultima disponibile. I passaggi seguenti sono stati testati su una macchina Linux CentOS 7, ma possono essere utilizzati - o leggermente adattati sostituendo il comando yum con apt-get - con la maggior parte delle distribuzioni Linux.

#1: Effettuare un backup completo

La prima cosa da fare è eseguire un backup completo dell'intera istanza del server MariaDB che si desidera aggiornare. Per farlo, consiglio caldamente di leggere questa guida su come effettuare il backup di MySQL / MariaDB senza perdere dati usando lo strumento da riga di comando mysqldump gratuito. Se non avete voglia di leggere l'articolo, ecco una sintesi di ciò che occorre fare da command-line:

Auspicabilmente, non ci sarà bisogno di utilizzare questo backup: al tempo stesso, visto che si sta effettuando un upgrade di un intero Database server, è meglio essere certi di non mettere a rischio i nostri preziosi dati.

#2: Arrestare il servizio MariaDB

Dopo aver effettuato il backup si può procedere con l'arresto del servizio MariaDB esistente. Per far questo è possibile utilizzare il comando seguente:

#3: Disinstallare la vecchia versione

Questo passaggio può sembrare rischioso, ma non c'è da preoccuparsi: la disinstallazione del servizio MariaDB non prevede né la cancellazione dei database esistenti né la perdita del file di configurazione my.cfg, ma soltanto l'eliminazione dei file necessari per eseguire il servizio stesso. Per procedere, eseguire questo comando:

#4: Configurare il repository MariaDB 10.3

Una volta disinstallata l'istanza di MariaDB esistente, sarà necessario installare la nuova versione: per far questo, dobbiamo prima accertarci che la nostra macchina Linux sappia dove trovare i file di installazione aggiornati. Se il sistema è basato su CentOS, RHEL o qualsiasi altra distribuzione basata su yum, è possibile farlo creando un nuovo file di repository - lo chiameremo MariaDB10.repo - all'interno della cartella /etc/yum.repos.d/ . All'interno di questo file dovremo specificare le informazioni necessarie a reperire il pacchetto di installazione della nuova versione attraverso la sintassi standard dei file .repo:

Per maggiori informazioni su YUM e/o sulla sintassi dei file .repo, potete consultare la guida alla configurazione di YUM e dei Repository YUM inclusa nella documentazione ufficiale di RHEL.

Ovviamente, nel caso in cui abbiate già un file MariaDB.repo, MariaDB10.repo o simile che punti alla versione precedente di MariaDB, sarà sufficiente aggiornarlo con le nuove URL della 10.3 indicate sopra.

#5: Installare la nuova versione di MariaDB 10.3

Adesso che yum è in grado di trovare la build 10.3 è possibile procedere con l'installazione della nuova versione di MariaDB tramite il seguente comando:

Eseguendo questo comando, il sistema provvederà a installare sia l'interfaccia client (necessaria per comunicare con il server) che quella server (necessaria per gestire i DB).

Come aggiornare MariaDB all'ultima versione senza perdere dati

#6: Lanciare e abilitare il nuovo servizio MariaDB

Una volta conclusa la procedura di installazione, sarà possibile lanciare e abilitare il nuovo servizio MariaDB con i seguenti comandi:

#7: Aggiornare i database esistenti

L'ultimo passaggio da effettuare è quello di aggiornare i database esistenti al nuovo engine con le nuove features di sicurezza introdotte con l'ultima versione: fortunatamente, MariaDB mette a disposizione lo strumento mysql_upgrade che consente di farlo con un semplice comando:

Lo strumento, una volta eseguito, si occuperà di controllare tutti gli archivi esistenti (database e tabelle) e renderli compatibili con MariaDB 10.3.

Conclusioni

Per il momento è tutto: mi auguro che questo piccolo tutorial possa essere utile agli amministratori di sistema per aggiornare i loro server MariaDB all'ultima versione.

 

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane. Microsoft MVP for Development Technologies dal 2018.

View all posts by Ryan

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


The reCAPTCHA verification period has expired. Please reload the page.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.