Para colores, 32 Bits

Cosas de aquí y allá
  • rss
  • Inicio
  • Búsquedas
  • Quién
  • Soluciones
    • English
      • WordPress UltraFlat Edition
    • Español
      • WordPress Edición UltraFlat
  • Contrato
  • Servicios
  • Contacto

10 maneras de hacer copia de tu mysql – método 6

Relay | marzo 21, 2009

loaddata

6. Usar PHP para hacer una copia de la base de datos.

Aunque las tres formas comunes son:

  1. Usar MYSQLDUMP desde el sistema
  2. Hacer la copia manualmente con PhpMyAdmin
  3. Usar PHP para extraer la base de datos

Hoy nos centraremos en la tercera opción y veremos como aplicar el resto desde PHP.

Volcando a un fichero con php:

<?php
include ‘config.php’;
include ‘opendb.php’;

$tableName  = ‘mypet’;
$backupFile = ‘backup/mypet.sql’;
$query      = «SELECT * INTO OUTFILE ‘$backupFile’ FROM $tableName»;
$result = mysql_query($query);
include ‘closedb.php’;
?>

Para restaurar dicho fichero, bastará ejecutar un LOAD DATA INFILE:

<?php
include ‘config.php’;
include ‘opendb.php’;

$tableName  = ‘mypet’;
$backupFile = ‘mypet.sql’;
$query      = «LOAD DATA INFILE ‘backupFile’ INTO TABLE $tableName»;
$result = mysql_query($query);
include ‘closedb.php’;
?>

Aunque puede parecer descabellado ir tabla a tabla, también esto permite que si hay un error en una de las tablas, simplemente recuperar la copia de esa tabla y no de la base entera.

Ejecutar mysqldump desde PHP:

También podemos usar la función de php llamada system() que ejecuta comandos desde la shell del sistema.

<?php
include ‘config.php’;
include ‘opendb.php’;

$backupFile = $dbname . date(«Y-m-d-H-i-s») . ‘.gz’;
$command = «mysqldump –opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile»;
system($command);

include ‘closedb.php’;
?>

Aunque es algo descabellado (para esto ya podríamos usar el cron), siempre es bueno tener otra opción 😀

Via | PHP Mysql Tutorial

Categorias
Sin clasificar
Comentarios RSS
Comentarios RSS
Trackback
Trackback

« 10 maneras de hacer copia de tu mysql – método 5 Hablar por hablar – Noticias3D no tiene razón »

2 respuestas

Esto de verdad funciona??? es que yo tengo una pagina

Pegasus | junio 11, 2009

Esto de verdad funciona??? es que yo tengo una pagina en php que tiene su propio script para generar la base de datos pero ahora quiero hacer copias de seguridad para cuando los usuarios o el administrador hagan modificaciones en ella, y me gustaria poner un boton para el administrador que ejecute un script que me haga la copia de seguridad. Lo malo es que mi base de datos consta de 8 tablas y es un latazo hacerlo tabla por tabla.

Claro que funciona, pero revisa los otros métodos (estan puestos

Relay | junio 11, 2009

Claro que funciona, pero revisa los otros métodos (estan puestos al final de los métodos), por ejemplo: http://www.arlay.net/2009/03/20/10-maneras-de-hacer-copia-de-tu-mysql-metodo-5/

Deje un comentario

usted puede usar estos tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Navigation

  • Bitácora
  • Cine
  • Coches
  • Humor
  • Ideas Locas
  • La Vida
  • Sin clasificar
  • Sistemas Operativos
  • Star Wars
  • Tecnología
  • Viajes

Buscar

rss Comentarios RSS valid xhtml 1.1 design by jide powered by Wordpress get firefox