Es posible que deba cambiar el directorio de datos de MySQL debido a espacio de partición insuficiente en /var o /root y cambiar el directorio de datos a /home para su servidor, incluido cPanel. También puede haber alguna otra razón para cambiar el directorio de datos.
Por defecto, el directorio de datos de MySQL/MariaDB es /var/lib/mysql . Almacena todas las bases de datos en /var/lib/mysql . Consulte los siguientes pasos para cambiar el directorio de datos de MySQL a /home. Asumimos que eres
- En primer lugar, crearemos una copia de seguridad de todas las bases de datos MySQL para que, en caso de que algo salga mal, no suframos ninguna pérdida de datos.
# tar -cvf mysql.tar /var/lib/mysql
- Una vez que haya terminado con la copia de seguridad, detenga el servicio MariaDB con el siguiente comando.
------------- On SystemD ------------- # systemctl stop mariadb # systemctl is-active mariadb ------------- On SysVInit ------------- # service mysqld stop # service mysqld status
- Instale el comando de pantalla
yum install screen
screen // It will create screen - Ahora, sincronizaremos todas las bases de datos MySQL con /home/mysql. El siguiente comando creará un directorio mysql en /home y comenzará el proceso de sincronización.
rsync -avz /var/lib/mysql to /home
- Mientras la sincronización está en curso, también puede trabajar en otras tareas. Una vez que se crean varias pantallas, puede reanudar/cambiar entre pantallas de la siguiente manera.
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 - Para cambiar el directorio de datos MySQL/MariaDB, edite el archivo /etc/my.cnf con su editor favorito.
vi /etc/my.cnf
- Cambiar el directorio de datos de /var/lib/mysql al /inicio. Si no encuentra una línea existente de datadir, puede agregar una nueva línea como se muestra a continuación.
datadir=/home/mysql
- Deberá volver a vincular el archivo de socket a /tmp.
# rm -rf /tmp/mysql.sock
# ln -sf /home/mysql/mysql.sock /tmp/mysql.sock - Para ejecutar el servicio MariaDB desde /home, debe modificar el archivo mariadb.service en la ubicación /usr/lib/systemd/system/mariadb.service.
ProtectHome=true to ProtectHome=false
- Finalmente, inicie su servicio MariaDB.
systemctl start mariadb
- Su servicio MariaDB puede fallar con la siguiente advertencia. Para resolver este error, puede reiniciar el servidor e iniciar el servicio MariaDB nuevamente y volverá a funcionar.
MariaDB cannot start after update: [Warning] Need to run systemctl daemon-reload
- Para verificar la funcionalidad, necesitaremos crear una base de datos desde cPanel y debe crearse dentro de /home/mysql. Consulte cPanel> crear una base de datos MySQL para crear una base de datos MySQL. Si su base de datos se crea dentro de /home/mysql, significa que tienes éxito en tu tarea.
- Si todo funciona bien, puede eliminar el directorio de datos anterior de /var/lib/mysql.
rm -rf /var/lib/mysql