Per spostare la cartella con i dati dei DB in un'altra partizione, su CentOS, seguire i seguenti passi
verficare l'attuale pecorso:
select @@datadir;
fermare il servizio, copiare i file nella nuova destinazione e rimuovere (facendone una copia) quelli vecchi
systemctl stop mysqld.service
rsync -av /var/lib/mysql /db_data
mv /var/lib/mysql /var/lib/mysql.bak
modificare il file "/etc/my.cnf" in modo che punti al nuovo percorso e aggiungere la parte sul client:
[mysqld]
...datadir=/db_data/mysql
socket=/db_data/mysql/mysql.sock...
[client]
port=3306
socket=/db_data/mysql/mysql.sock
Quindi riavviamo il servizio
systemctl start mysqld.service
Se sul server è attivo SELinux, otterremo degli errori perché i permessi sui nuovi file sono errati.
In tal caso possiamo
Per il punto 2 servono i seguenti pacchetti:
yum install policycoreutils policycoreutils-python selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server setools setools-console mcstrans
Quindi impostiamo i permessi:
semanage fcontext -a -t mysqld_db_t "/db_data/mysql(/.*)?"
restorecon -Rv /db_data/mysql/
systemctl restart mysqld.service