Inicio arrow Trucos y tutoriales arrow Tutoriales PHP y APACHE arrow ¿Como exportar mi base de datos en MySQL a un archivo fichero.sql?
¿Como exportar mi base de datos en MySQL a un archivo fichero.sql? PDF Imprimir E-Mail

Para guardar una base de datos, sin ningún gestor como podría ser phpMyAdmin. Se podría usar el siguiente código. Tal cual está .. envia a descargar el "dump" (volcado de datos y estructura) de la Base de datos seleccinada, incluido todas sus tablas.

Código PHP:

<?

// Nombre del archivo de con el cual queremos que se guarde la base de datos

$filename = "fichero.sql";

// Cabezeras para forzar al navegador a guardar el archivo

header("Pragma: no-cache");

header("Expires: 0");

header("Content-Transfer-Encoding: binary");

header("Content-type: application/force-download");

header("Content-Disposition: attachment; filename=$filename");

 

$usuario="usuario";  // Usuario de la base de datos, un ejemplo podria ser 'root'

$passwd="contraseña";  // Contraseña asignada al usuario

$bd="base_de_datos";  // Nombre de la Base de Datos a exportar

 

// Funciones para exportar la base de datos

$executa = "c:\\mysql\\bin\\mysqldump.exe -u $usuario --password=$passwd --opt $bd";

system($executa, $resultado);

 

// Comprobar si se a realizado bien, si no es asi, mostrará un mensaje de error

if ($resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }

 

?>

 

Nota: Este código es valido si PHP se esta ejecutando en Windows. En caso de ejecutarse en Linux sustituir:

 

Código PHP:

$executa = "c:\\mysql\\bin\\mysqldump.exe -u $usuario --password=$passwd --opt $bd";

 

por:

 

Código PHP:

$executa = "/mysql/bin/mysqldump -u $usuario --password=$passwd --opt $bd";

 

 

 

**Las rutas indicadas son hacia la correspondiente ubicación física de mysqldump (o mysqldump.exe) en sus sistemas ...

 

Si se desea que el archivo generenado ($fichero.sql) lo queremos dejar en el propio servidor (por ejemplo para hacer backups de esa BD Mysql automaticos lanzados por algun script nuestro ...) usar (en lugar de la anterior $executa): (notese el > $fichero )

 

 

Código PHP:

$executa = "c:\\mysql\\bin\\mysqldump.exe -u $usuario --password=$passwd --opt $bd > $fichero";

 

 

Y .. quitar las cabeceras header() q se usan (todas).

Comentarios
Añadir nuevoBuscar
¡Sólo los usuarios registrados pueden escribir comentarios!

Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved.

 
< Anterior   Siguiente >
 
 

Encuesta

¿ Que opinas de nuestro nuevo diseño Web ?
 

Estan en Linea

Hay 1 invitado en línea