Il problema è la partizione dedicata a mysql quasi piena: come risolvere il problema. Visto che era una VM basta solo aggiungere un disco e spostare il contenuto di /var/lib/mysql e successivamente montare il nuovo device al posto del vecchio device ormai quasi pieno. Non ho la registrazione di quello che ho fatto, vado a memoria:
Ho creato una partizione primaria sul nuovo disco “fdisk /dev/sda” e dopo l’ho formattata con il comando mkfs.xfs /dev/sdb1 – A questo punto ho creato una directory dentro /mnt/disco-da-15-giga e poi lo ho editato in fstab in modo che venga montato all’atto dell’avvio della vm. Ora bisogna spostare il contenuto della /var/lib/mysql su /mnt/disco-da-15-giga – si puo’ fare in diversi modi, io ho scelto di fare un archivio cosi’: tar cvfz dati.tar.gz /var/lib/mysql in seguito ho estratto tutto in /mn/nuovodisco e ho eseguito un chown mysql:mysql * dentro la directory per riportare l’owner corretto dei file.
Ora si tratta di editare /etc/my.cnf.d/mysql-server.cnf in modo da cambiare datadir e socket come vedi:
[mysqld]
datadir=/mnt/disco-da-15-giga/mysql
socket=/mnt/disco-da-15-giga/mysql/mysql.sock
log-error=/var/log/mysql/mysqld.log
pid-file=/run/mysqld/mysqld.pid
Ora se fai partire mysqld dovrebbe funzionare normalmente.. solo che ora usa il nuovo disco. Ora bisogna informare Zabbix che il socket non è piu’ il default ma è da un’altra parte: questo si fa editando il file zabbix.conf e precisamente questa riga:
DBSocket=/mnt/disco-da-15-giga/mysql/mysql.sock
Ora contrariamente a quello che si puo’ normalmente pensare bisogna fare l’ultimo passo, perche’ altrimenti il server Zabbix funziona normalmente (lo vedi dai log di zabbix) ma non riesci ad entrare nella GUI via web. Bisogna editare il file /etc/php.ini precisamente questa riga:
pdo_mysql.default_socket=/mnt/disco-da-15-giga/mysql/mysql.sock
Tutto finito…