Hola. Tengo que hacer una copia de seguridad física de una base de datos desde la terminal de Ubuntu y la verdad no tengo ni idea. Llevo dos días buscando en internet pero siempre son tutoriales de Backup lógicas . Si alguien me pudiese ayudar se lo agradecería mucho.
Gracias.
Si no recuerdo mal primero tienes que detener el servicio de MySQL. Después localizar el directorio donde se encuentran las bases de datos de las que quieras hacer backup (por defecto MySQL las mete en /var/lib/mysql/). Copias las bases de datos que te interesen y finalmente relanzas de nuevo el servicio.
#3 Pero como lo copio desde /var/lib/mysql y lo vuelvo a restaurar? ¿Manualmente o con una serie de comandos?
#7 En ese caso te sugiero:
1º sudo systemctl stop mysql.service | Detiene el demonio de MySQL
2º sudo mkdir /var/lib/mysql/backups | Crea la carpeta backups en el directorio de MySQL
3º sudo tar -zcvf /var/lib/mysql/bdempleados /var/lib/mysql/backups/bdempleados.tar.gz | Comprime el contenido de la base de datos llamada "bdempleados" en un tar dentro de la carpeta de backups
4º sudo systemctl start mysql.service | Reinicia el demonio de MySQL
A mayores puedes usar "systemctl status mysql.service" al inicio y al final para comprobar que efectivamente el demonio se encuentra en el estado correcto para cada operación.
Para restaurar la copia de seguridad el proceso sería similar:
1º Detener el demonio con el comando anterior
2º sudo tar -xvzf /var/lib/mysql/backups/bdempleados.tar.gz
3º Reiniciar el demonio con el comando anterior.
por curiosidad, hay algún motivo para querer copiar a cholón los archivos en vez de hacer un dump y luego restaurarlo ?
#9 asi a bote pronto con el mysqldump basicamente duplicas espacio utilizado y tiempo total necesario, hacer mysqldump, esperar que se genere el fichero, copiarlo donde sea
si copias los ficheros directamente pues te ahorras pasos/tiempo/espacio en disco, en una base de datos mierder pues dara igual, pero en una base de datos de muchos gigas puede importar