Copia de seguridad de MySQL en Linux
De forma predeterminada, las bases de datos de MySQL en servidores Linux se almacenan en el directorio siguiente:
/var/lib/mysql/
Si cerró el servicio de mysqld en primer lugar, puede copiar las bases de datos a un directorio /backup de ejemplo utilizando el mandato siguiente:
cp –Rp /var/lib/mysql/*.* /backup
El interruptor –R para el CP El comando significa recursivo, que desea usar porque cada base de datos está en un directorio separado. El conmutador –p es para permisos, lo que mantiene los permisos de lo que se ha copiado.
Por lo general, cerrará el servicio de mysqld antes de utilizar el método anterior. Si una base de datos se copia mientras se está utilizando, la copia de seguridad se dañará y se quedará sin valor. Si está seguro de que ninguna de las bases de datos está en uso, puede utilizar el comando anterior.
El mandato mysqldump
Utilice el mandato mysqldump para realizar copia de seguridad de las bases de datos individuales y todas las bases de datos del servidor sin tener que cerrar el servicio de mysqld. Este método es el preferido, debido a esta capacidad para realizar copias de seguridad mientras sigue manteniendo las bases de datos en línea.
Bases de datos individuales
El siguiente código es un comando de ejemplo que se utiliza para realizar una copia de seguridad de una base de datos denominada 'ejemplo' al directorio /backup
mientras estás conectado como root:
mysqldump example > /backup/example_backup.sql
A menos que sea una base de datos pequeña, comprima la copia de seguridad de la base de datos para reducir la cantidad de tiempo de transferencia de la copia. El mandato siguiente comprime la copia de seguridad de la base de datos de ejemplo:
tar czvf /backup/example_backup.tar.gz /backup./example_backup.sql
Todas las bases de datos
Si tiene varias bases de datos de las que hacer copia de seguridad, el mandato siguiente realiza copia de seguridad de todas las bases de datos de MySQL del servidor en el directorio /backup:
mysqldump -A > /backup/databases.sql(or --all-databases)
El conmutador -A ("-all-databases" tiene la misma función) vuelca todas las bases de datos en el servidor.