Se hai un server AlmaLinux 8 gestito da Plesk Obsidian 18.0.60 avrai notato che il database di default MariaDb viene fornito alla versione 10.3. Se hai l'esigenza di passare alle versioni successive di MariaDb, Plesk non fornisce un automatismo e quindi si deve procedere manualmente.
Il testo che segue non è una guida esaustiva sull'argomento, è solo la testimonianza di una procedura che ha avuto esito positivo nell'upgrade di MariaDb dalla versione 10.3 alle 11.6, un promemoria per me, nell'auspicio che possa servire ad altri.
Indice della procedura
- Verifica funzionamento del Db
- Verifica versione MariaDb -> 10.3
- Crea snapshot
- Spegni WatchDog prima di fare l'upgrade
- Salva database vecchio
- Migra MariaDb da ver. vecchia a nuova
- Verifica funzionale
- Cancella vecchio Db
- Riattiva Watchdog
1. Verifica funzionamento del Db
Scegli un modo per verificare il funzionamento del Db, magari mediante la visualizzazione di una pagina che attinga dati dal DB.
2. Verifica la versione di MariaDb attualente in uso
Da terminale digita:
# rpm -qa | grep -i mariadb
rpm -qa: Elenca tutti i pacchetti RPM installati sul sistema.
grep -i mariadb: Filtra l'elenco dei pacchetti installati per visualizzare solo quelli che contengono "mariadb" (senza distinzione tra maiuscole e minuscole grazie al flag -i).
In risposta otterrai la versione installata.
3. Crea snapshot
In relazione al sistema di gestione del server, esegui questo importante passo.
4. Spegni WatchDog prima di fare l'upgrade
In Plesk vai a Estensioni / Le mie estensioni / Watchdog -> Disable.
5. Crea una copia di riserva del vecchio database
Da terminale digita:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysqldump -u admin --verbose --all-databases --routines --triggers > /tmp/all-databases.sql
Sempre per motivi di sicurezza, copia la directory del database in una cartella separata:
# cp -v -a /var/lib/mysql/ /var/lib/mysql_backup
6. Migrazione fra le versioni del Db
6.1. Ferma MariaDB
# service mariadb stop
6.2. Rimuovi il pacchetto aggiuntivo in conflitto con la nuova versione
# yum remove mariadb-gssapi-server
6.3. Apri/Crea il file MariaDB.repo
# vi /etc/yum.repos.d/MariaDB.repo
- i
Copia il seguente testo:
[mariadb]
name = MariaDB
baseurl = https://mirror.23m.com/mariadb/yum/11.6/rhel/$releasever/$basearch
gpgkey = https://mirror.23m.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
priority=1
module_hotfixes=1
- incolla il testo nel terminale
- ESC
- ZZ
6.4. Controlla se il pacchetto mariadb-server è già installato
# rpm -q --whatprovides mariadb-server
Se vedi un file con "mariadb-server" lo rimuovi:
# rpm -e --nodeps `rpm -q --whatprovides mariadb-server`
6.5. Cancella tutta la cache
# yum clean all
6.6. Avvia l'aggiornamento di MariaDB alla versione 11.6
# yum install MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
6.7. Adattare il file di configurazione my.cnf in relazione alle impostazioni del tuo server
# sed -i 's/bind-address = ::ffff:127.0.0.1/bind-address = 127.0.0.1/g' /etc/my.cnf
Nel mio caso ho usato questo comando che sostituisce ::ffff:127.0.0.1 con 127.0.0.1. Significa che il server ora ascolterà esplicitamente solo l'indirizzo localhost IPv4 anziché l'indirizzo localhost IPv4 mappato su IPv6.
6.8. Una volta completato l'aggiornamento, avvia MariaDB
# systemctl restart mariadb
6.9. Aggiorna i database MySQL
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql_upgrade -uadmin
6.10. Riavvia il servizio MariaDB
# systemctl restart mariadb
6.11. Aggiorna la versione del pacchetto all'interno di Plesk
# plesk bin service_node --update local
# plesk sbin packagemng -sdf
6.12. Ripristina il contesto SeLinux
# restorecon -v /var/lib/mysql/*
7. Verifica funzionale
Torna alla medesima pagina del punto 1, se tutto è andato bene dovresti vederla.
7.1. Verifica la versione attiva del DB
# rpm -qa | grep -i mariadb
8. Cancella il file di backup di tutti i database
# ls -l /tmp/all-databases.sql
inizialmente verifica la presenza del file
# rm /tmp/all-databases.sql
cancellazione effettiva
8.1. Cancella la cartella di backup del DB
# ls -l /var/lib/mysql_backup
verifica la presenza della cartella
# rm -rf /var/lib/mysql_backup
cancellazione effettiva
9. Riattiva WatchDog
In Plesk vai su Estensioni / Le mie estensioni / Watchdog -> Enable.