Opciones para copias de seguridad de MySQL

Realizar copias de seguridad de las bases de datos MySQL es una tarea muy importante y que no debemos descuidar, al igual que las copias de seguridad de todo tipo de datos y configuraciones. De esta forma podemos hacer uso de los backups en caso de desastre.

Hay muchas opciones para realizar copias de seguridad, aquí os exponemos algunas opciones.

  • Backup automático  en Amazon S3.
    Amazon de ha consagrado como una solución de almacenamiento externo para algunos casos, tiene una alto nivel de fiabilidad, aunque no es 100% infalible y suele ser muy lento. Para hacer backup en Amazon S3 hay scripts automáticos para realizarlas.
  • Respaldo automático para Linux.
    Por ejemplo con un cron como este:

    15 2 * * * root mysqldump -u root -pPASSWORD –all-databases | gzip > /mnt/disk2/database_`data ‘ %m-%d-%Y’`.sql.gz

  • Copia de seguridad con AutoMySQLBackup.
    Esta utilidad ofrece posibilidades muy buenas para realizar backups de una o varias bases de datos de un servidor. Podéis guardar las bases de datos en gzip o bzip2, realizar rotaciones de copias para ahorrar espacio, … (más información).
  • Utiliza MySQLDump. (más info)

    mysqldump —user [user name] —password=[password] [database name] > [dump file]

  • Respalda tu base de datos en un XML con PHP. (más info)

    mysqldump —user [user name] —password=[password] [database name] > [dump file]

  • Puedes utilizar PHP para el backup de MySQL. (más info)
    Solo tienes que ejecutar una sentencia para realizar la copia de seguridad con PHP. Aquí tenéis un ejemplo:

    <?php
    include ‘config.php’;
    include ‘opendb.php’;
    $tableName = ‘mypet’;
    $backupFile = ‘backup/backupfile.sql’;
    $query = “SELECT * INTO OUTFILE ‘$backupFile’ FROM $tableName”;
    $result = mysql_query($query);
    include ‘closedb.php’;
    ?>

    Y para recuperar el respaldo en PHP con un  LOAD DATA INFILE, de la siguiente manera:

    <?php
    include ‘config.php’;
    include ‘opendb.php’;
    $tableName = ‘mypet’;
    $backupFile = ‘backupfile.sql’;
    $query = “LOAD DATA INFILE ‘backupFile’ INTO TABLE $tableName”;
    $result = mysql_query($query);
    include ‘closedb.php’;
    ?>

  • Copias de seguridad MySQL con Perl. (más información)
  • Copias de seguridad mediante SSH.
    Si tienes una gran base de datos a través de programación tendrás problemas de tiempo de espera (timeout) por lo que hacer las copias a través de SSH es una buena opción. Para ello debes entrar a la consola con algun cliente ssh como PuTTy o SecureCRT en Windows, o el comando ssh en Linux o Mac. (más información).
  • Enviate el backup por correo electrónico con PHP.
    Utiliza este código php para enviarte el fichero backup .sql por email, seleccionando la base de datos completa o solo algunas tablas. (más información).
  • Backup de MySQL con Ubuntu Linux a través de FTP.
    Si tienes un servidor virtual o servidor dedicado con Ubuntu Linux u otro linux puedes realizar tu copia de seguridad Mysql en tu servidor FTP. (más información).
  • Copia automática de los ficheros del volcado SQL a un servidor FTP.
    Es otra opción más para realizar copias a FTP o una unidad NAS. (más información).
  • MySQL Export, otra opción para exportar el backup de tu MySQL.

vía: El webmaster > Noupe