Potrebbe essere necessario modificare la directory dei dati di MySQL a causa dello spazio di partizione insufficiente su /var o /root e modificare la directory dei dati in /home per il server incluso cPanel. Potrebbero esserci anche altri motivi per modificare la directory dei dati.
Per impostazione predefinita, la directory dei dati MySQL/MariaDB è /var/lib/mysql . Memorizza tutti i database in /var/lib/mysql . Fare riferimento ai seguenti passaggi per modificare la directory dei dati di MySQL in /home. Assumiamo che tu lo sia
- Prima di tutto, creeremo un backup di tutti i database MySQL, quindi nel caso qualcosa vada storto, non subiamo alcuna perdita di dati.
# tar -cvf mysql.tar /var/lib/mysql
- Una volta terminato il backup, arrestare il servizio MariaDB con il comando seguente.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status
- Installa il comando dello schermo
yum install screen
screen // It will create screen - Ora sincronizzeremo tutti i database MySQL con /home/mysql. Il comando seguente creerà una directory mysql in /home e avvierà il processo di sincronizzazione.
rsync -avz /var/lib/mysql to /home
- Mentre la sincronizzazione è in corso, puoi lavorare anche su altre attività. Una volta create più schermate, puoi riprendere/passare da una schermata all'altra come segue.
screen -r // it will resume previous screen
ctrl A and ctrl D // for return to main screen
ctrl A and shift ? // for screen command menu - Per modificare la directory dei dati MySQL/MariaDB, modificare il file /etc/my.cnf con il tuo editor preferito.
vi /etc/my.cnf
- Cambia la directory dei dati da /var/lib/mysql alla /casa. Se non trovi una riga esistente di datadir, puoi aggiungere una nuova riga come di seguito.
datadir=/home/mysql
- Dovrai ricollegare il file socket a /tmp.
# rm -rf /tmp/mysql.sock
# ln -sf /home/mysql/mysql.sock /tmp/mysql.sock - Per eseguire il servizio MariaDB da /home, devi modificare il file mariadb.service nella posizione /usr/lib/systemd/system/mariadb.service.
ProtectHome=true to ProtectHome=false
- Infine, avvia il tuo servizio MariaDB.
systemctl start mariadb
- Il tuo servizio MariaDB potrebbe non riuscire con il seguente avviso. Per risolvere questo errore, puoi riavviare il server e riavviare il servizio MariaDB e funzionerà di nuovo.
MariaDB cannot start after update: [Warning] Need to run systemctl daemon-reload
- Per verificare la funzionalità, dovremo creare un database da cPanel e dovrebbe essere creato all'interno di /home/mysql. Fare riferimento a cPanel> creare database MySQL per la creazione di database MySQL. Se il tuo database viene creato all'interno di /home/mysql, significa che hai successo nel tuo compito.
- Se tutto funziona correttamente, puoi rimuovere la vecchia directory dei dati da /var/lib/mysql.
rm -rf /var/lib/mysql